Part Number Hot Search : 
MBRD2060 12001 MDLS16 KIA78 N4730 SY10E457 1117A AO4800V1
Product Description
Full Text Search
 

To Download W89C840AF Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  W89C840AF publication release date: oct ober 200 0 - 1 - revision 1.01 winbond lan W89C840AF 100/10mbps ethernet controller
W89C840AF publication release date: oct ober 200 0 - 2 - revision 1.01
W89C840AF publication release date: oct ober 200 0 - 3 - revision 1.01 W89C840AF is a highly integrated ethernet lan controller for both 100baset and 10baset ethernet. it provides a host bus interface complying with the pci local bus specification revision 2.1, and the mii interface complying with the ieee802.3u standard for easily implementing an ethernet lan adapter. the built - in 2k bytes transmit fifo and 4k bytes receive fifo, controlled by the on - chip bus master, are designed for improving network performance and reducing the host bus utilitzation. the on - chip dma controller handles the data transfer between the host memory and the fifos. the data received from network are queued into the receive fifo and then, directly moved into the host memory through the pci bus. on the other hand, the transmitted data are fetched from the host memory and directly queued into the transmit fifo. no extra on - board memory is needed for data buffering during the data transceiving operation. for featuring the specifications of pc97 /98, W89C840AF implements power management functinos which are compliant with advanced configuration and power interface ( acpi) specification rev. 1.0, pci power management interface specification rev. 1.0, and network device class power management refere nce specification v1.0a as well as remote wakeup function based on the onnow initiative and the acpi specification requirement of pc 97 and pc 98. many versatile registers, total 48 inside, including host bus control registers, direct memory access(dma) c ontrol registers, media access control registers(mac), power management control/status registers and signature identification registers, are implemented for system configuring and control. all of these long word accessible registers perform the status rep ort and the precisely control on the operation of transmit and receive. it also provides an extra channel for the on - line application program to update the on - board expansion rom device in some specific application environment. features l complies with ieee 802.3, 802.3u, ansi 8802 - 3 and ethernet standards l supports pci bus master mode for dma operation, fully complying with pci 2.1 standard l compliant with apci r1.0, pci power management r1.0 and network device class power management r eference specification v1.0a l supports remote wakeup function l both half duplex and full duplex available for 10/100m operation l flexible data structure for host compatibility and system performance l supports 25 to 33 mhz pci clock speed l supports f ull mii management function l provides eeprom and flash memory on - board programming function l supports both big and little endian byte ordering for descriptor and buffer l flexible address filtering modes -- 64 - bit hash - table and one perfect address -- all multicast and promiscuous l a boot rom interface, capable of supporting up to 256kb l supports automatic loading configuration register l internal and external loopback mo de for diagnostic
W89C840AF publication release date: oct ober 200 0 - 4 - revision 1.01 l single 5 volt power supply l 128 pins pqfp package pin assignment W89C840AF vcc 36 gnd 37 ad7 38 btadd3 67 btadd2 66 btadd1 65 ad5 40 ad6 39 ad25 127 ad24 128 ad4 41 ad3 42 ad26 126 ad27 125 ad28 124 ad29 123 ad30 122 ad31 121 gnd 120 vcc 119 btadd4 68 btadd5 69 btadd6 70 btadd7 71 btadd8 72 vcc 73 gnd 74 btadd9 75 ad2 43 ad1 44 ad0 45 vcc 46 gnd 47 btweb 48 c_beb0 35 ad8 34 ad9 33 ad10 32 ad11 31 ad12 30 ad13 29 ad14 28 gnd 115 pciclk 114 pwgd 113 rstb 112 gnd 109 vcc 108 mirxd3 107 mirxd2 106 pmeb 118 reqb 117 gntb 116 intab 111 rmgwku 110 mirxd1 105 mirxd0 104 gnd 103 mirxclk 102 mirxer 101 mirxdv 100 micol 99 micrs 98 gnd 97 vcc 96 mimdio 95 mimdc 94 mitxen 93 mitxd3 92 mitxd2 91 mitxd1 90 mitxd0 89 gnd 88 mitxclk 87 vcc 86 gnd 85 vcc 84 btadd17 83 btadd16 82 btadd15 81 btadd14 80 btadd13 79 btadd12 78 btadd11 77 btadd10 76 btadd0 64 gnd 63 vcc 62 btadata7 61 btadata6 60 btadata5 59 btadata4 58 eedo/btadata3 57 eedi/btadata2 56 eeck/btadata1 55 btadata0 54 gnd 53 vcc 52 eecs 51 btcsb 50 btoeb 49 ad15 27 gnd 26 vcc 25 c_beb1 24 par 23 serrb 22 perrb 21 stopb 20 devselb 19 trdyb 18 irdyb 17 frameb 16 c_beb2 15 gnd 14 vcc 13 ad16 12 ad17 11 ad18 10 ad19 9 ad20 8 ad21 7 ad22 6 ad23 5 idsel 4 c_beb3 3 gnd 2 vcc 1 fig 1: W89C840AF pin configuration
W89C840AF publication release date: oct ober 200 0 - 5 - revision 1.01 block diagram pci mii tx fifo rx fifo media access controller mii data buffer long word aligning buffer pci bus master pci bus slave controller configuration registers status registers control registers transmit data dma machine receive data dma machine mii control signals eeprom access interface expansion rom interface memory interface pci interface data driver fig. 2 W89C840AF block diagram system diagram system memory host controller W89C840AF physical layer controller & transceiver media W89C840AF typical application fig. 3
W89C840AF publication release date: oct ober 200 0 - 6 - revision 1.01 pin descriptions 1) pci interface signal name pin type pin number pin description pciclk i 114 pci clock input: W89C840AF supports pci clock rate ranged from 25mhz to 33mhz continuously. all pci signals exc ept rst# and inta#, are referenced on the rising edge of this clock. rstb i 112 pci hardware reset signal: when asserted(active low), all pci output pins of W89C840AF will be in high impedance state, and all open drain signals will be floated. the configu rations inside W89C840AF will be in its initial state. this signal must be asserted for a period of at least 10 pci clocks to correctly take effect of a reset on hardware. ad[31:0] io/ts 121 - 128, 5 - 12, 27 - 34, 38 - 45 pci multiplexed address and data bus: during the first cycle that frame# asserts, they act as an address bus; on the other cycles, they are switched to be a data bus. c_beb[3:0] io/ts 3,15,24, 35 multiplexed command and byte enables: these signals are driven by current bus master. during addr ess phase, they mean a bus command; on the other phase, they present the byte enable of the transaction. par io/ts 23 parity signal. this par represents the even parity across ad[31:0] and c_beb[3:0]. it has the same timing as ad[31:0] but is delayed by one clock. frameb io/sts 16 pci cycle frame: the current bus master asserts frameb to indicate the beginning and duration of a bus access. this signal keeps asserted while the current transaction is ongoing and keeps deasserted to indicate that the next data phase is the final data phase.
W89C840AF publication release date: oct ober 200 0 - 7 - revision 1.01 irdyb io/sts 17 initiator ready: the irdyb is asserted by the current initiator to indicate the ability to complete the data transfer at the current data phase. the initiator asserts irdyb to indicate the valid write d ata, or to indicate it is ready to accept the read data. more than or exactly one wait state will be inserted if irdyb is deasserted during the current transaction. data is transferred at the clock rising edge when both irdyb and trdyb are asserted at the same time. trdyb io/sts 18 target ready: asserted by the current target to indicate ability to complete data transfer at the current data phase. when W89C840AF is operating at the bus slave mode , it asserts trdyb to indicate that the valid read data pr esents on the bus or to indicate it is ready to accept data. wait states will be inserted if trdyb is deasserted. data is transferred at the rising edge of the pci clock when irdyb and trdyb are both asserted at the same time. stopb io/sts 20 pci stop: as serted by the current target to request pci bus master to stop the current transaction. idsel i 4 pci initialization device select: asserted by host to signal the configuration access request to W89C840AF . devselb io/sts 19 pci device select: asserted by the current target to indicate that it has finished decoding its address as the current access target. when W89C840AF is the current master, it checks if the target asserted this signal within 5 pci clocks after having issued command. if not, W89C840AF wi ll abort the access operation, releases pci bus access right and acts no more bus master. when W89C840AF is the target, it asserts devselb in a medium speed, i.e., within 2 clocks. reqb o/ts 117 pci request: asserted by W89C840AF to request bus ownership. reqb will be tri - stated when rstb asserted. gntb i/ts 116 pci grant: asserted by host to grant that W89C840AF have got the bus ownership. when rstb asserted, W89C840AF will ignore gntb.
W89C840AF publication release date: oct ober 200 0 - 8 - revision 1.01 perrb io/sts 21 pci parity error: asserted by the current data rec eiptor. when W89C840AF acts the bus master, if a data parity error is detected and the parity error response bit (fcs<6>) is also set, it will set both bits of fcs<24> and c14<13> as 1 to terminate the current transaction after the current data phase is fi nished. when W89C840AF acts the target, if a data parity error is detected and the bit fcs<6> is set, it will assert perrb only. serrb o/od 22 system error: this pin is asserted with one pci clock width within two pci clocks after an address parity error is detected, and keeps in high impedance state when idle. the interrupt function caused by this event is gated by the bits in fcs register. W89C840AF will assert serrb and will set a high to the detect parity error bit fcs<31> and the signal system erro b it fcs<30> if an address parity error is detected and serrb enable bit fcs<8> is previously set to 1. the bus error status bit c14<13> will be set to high if both an address parity error is detected and the parity error response bit fcs<6> is set to high. intab o/od 111 interrupt a: intab is asserted when any one of unmasked interrupt bits in c14/cisr is set. it keeps asserted until all of the unmasked interrupt bits is cleared. 2) power managment interface symbol pin type pin number pin description pwg d i 113 power good when pwgd=1, w89c840a is put in normal operation mode. when pwgd=0, it isolates whole pci bus except pmeb. the pci bus power can be off by operating system. pmeb o/od 118 power management event the pmeb signal indicates that a power management event has occurred, i.e. there is a magic packet received in suspend mode etc . this pin is open drain. rmgwku o/od 110 remote magic packet wakeup after received magic p acket, t his output signal motherboard to execute wakeup process.
W89C840AF publication release date: oct ober 200 0 - 9 - revision 1.01 2) bootrom and eeprom interface signal name pin type pin number pin description btadd[17:0] o 83 - 75,72 - 64 boo trom address bit s 0 - 17 btadata[7:4] i/o 61 - 58 bootrom data bit s 4 - 7 btadata[3]/eedo i/o 57 eeprom data output; bootrom data bit 3 btadata[2]/eedi i/o 56 eeprom data input; bootrom data bit 2. btadata[1]/eeck i/o 55 eepr om data clock; bootrom data bit 1. btadata[0] i/o 54 bootrom data bit 0 btcsb i/o 50 bootrom chip select eecs i/o 51 eeprom chip select btoeb o 49 bootrom read enable btweb o 48 bootrom write enable 3) mii interface signal nam e pin type pin number pin description mtxclk i 87 mii transmit clock: mtxclk is a continuous uniformed clock source driven by the external phy. it provides the timing reference for the signals mtxen and mtxd. mtxclk should be either 25mhz or 2.5mhz clock . mtxd[3:0] o 92 - 89 mii transmit data: this nibble byte width transmit data bus is synchronized with mtxclk. it should be latched by the external phy at the rising edge of mtxclk. mtxd[0] is the least significant bit. mtxen o 93 mii transmit enable: it i ndicates that transmits activity to an external phy. it will be synchronized with mtxclk. mmdc o 94 mii management reference clock. it is the reference clock of mmdio. each data bit will be latched at the mmdc rising edge.
W89C840AF publication release date: oct ober 200 0 - 10 - revision 1.01 mmdio i/o 95 mii management d ata input/output. this pin is used to transfer the mii control and status information between phy and mac. mcrs i 98 carrier sense signal: this shall be asserted by phy device when media is busy, and deasserted when media is idle. mcrs shall keep asserte d, even at the duration of a collision. mcol i 99 mii collision detected: this shall be asserted by the phy device upon detecting a collision happened over the medium. it will be asserted and lasted until collision condition wholly vanishes. mrxdv i 100 mii received data valid: this pin is driven by phy device. it will be asserted when received data is coming and present, and deasserted at the end of the frame. mrxdv is synchronized with mrxclk from phy device. mrxer i 101 mii received data error: this p in is driven by phy device. it indicates a data conversion error is detected by phy device. the assertion of mrxer should be lasted for longer than a period of mrxclk. when mrxer asserted, W89C840AF will report a receive error detection and a crc error . mrxclk i 102 mii received clock source: this clock is from phy device. it will be either 25mhz or 2.5mhz receive clock, determined by auto - negotiation device in phy and supported by W89C840AF. the minimun duty cycle at its high state or low state of mrxcl k should be 35% of the nominal period under all condition. phy device should drive mrxclk as a continuous clock. mrxd[3:0] i 107 - 104 received data pins: this is driven by external 100/10 mbps phy. mrxd should be syncronized with clock source mrxclk and valid only when mrxdv is valid. mrxd[0] is the least significant bit. vdd 1,12,25,3 6,46,52,6 2,73,84,8 6,96,108, 119 power supply pins. gnd 2,14,20,3 7,47,53,6 ground pins.
W89C840AF publication release date: oct ober 200 0 - 11 - revision 1.01 3,74,85,8 8,97,103, 109,115, 120 functional description power management functions the W89C840AF supports power management as defined in the pci bus power management interface specification rev 1.0 and network device class power management reference specification v1.0a and acpi specification rev 1.0. these three specifications define how a pci network device can be controlled in an operating system directed power management (ospm) environment. power management state and wake - up events operation a power management event (pme) is a device used to report events that might change the system ? s power state. typically, a device uses a pme to request a change from a power savings state to the fully operational power state. however, a device could use a pme to request a change to a lower power state. the following two power management events for W89C840AF are defined in network device class power management reference specification v1.0a. magic packet : magic packet is a packet composed of a sequence of speci fic bits pattern and is used to notice mother board to run a wake - up process. it is consist ed of the form of destination mac address + source mac address + data + crc. wake - up frame : wake - up events notification the W89C840AF can wake - up the system when it receive a frame that matches as a wake - up packet. this packet can be configured to be one or both of the the following: l magic packet (see magic packet). l the received wake - up frame matches one of the W89C840AF active address filtering and crc check mechanisms. the W89C840AF can be enabled to provided wake - up notification upon the occurrence of a pme. the system software enables the pmeb signal (pin 118) by setting the pme_en bit in the power management control and status register (fpmcsr) and clear this bit deassert the pmeb signal. when a wake - up event is detected, the W89C840AF sets the pme_st s bit in the fpmcsr register setting this bit causes the pmeb signal to be asserted. assertion of the pmeb signal causes external hardware to be wake up the system. if there is not any power supplying pci slot and W89C840AF , the pmeb signal will stay at l ow when W89C840AF adapter card is inserted into pci slot . the W89C840AF detects the network for receipt of magic packet and wake - up frame can be enabled to generate a wake - up notification by setting the mgpe and wupfe bit of wake - up control and status
W89C840AF publication release date: oct ober 200 0 - 12 - revision 1.01 regi ster (fwupcs) and it should be ensure the pme_en bit is set only when the W89C840AF is in the d3 state. below table describes the wake - up, power management control and status registers with eeprom bits that control the pmeb signal. bit location descripti n fpmcsr<8> pme_en pci configuration space pme_en --- power management enable bit set enables the assertion of the pmeb signal when a pme occurs. fpmcsr<15> pme_sts pci configuration space pme_sts --- power management status bit is indicates that a pme has o ccurred. when this bit is cleared, the pmeb signal is deasserted. fcs<20> caps fwupcs<31> pmcsp pci configuration space caps --- the value of this bit determines whether the W89C840AF implements the pci power management capabilities. the value of this bit i s loaded from eeprom 08h<15> bit (power management capability support). fwupcs<30> rwul pci configuration space rwul --- the value of this bit is loaded from eeprom 08h<14> bit (remote wake - up from lan). after hard - reset, if rwul=1 and pmcsp=1 the W89C840AF will enable remote wake - up from lan mode. while in remote wake - up from lan mode, W89C840AF will assert pmeb signal if magic packet has been received. the W89C840AF pmeb signal will remain asserted during power state changes from d3 (hot) to d0 (un - initial ized) until either bit 15 and/or bit 8 in the fpmcsr is cleared. fwupcs<0> mgpe pci configuration space mgpe --- after hard - reset, if rwul=1 and pmcsp=1 magic packet detector enable bit set to 1 to enable the operation of magic packet detector. this bit is reset when W89C840AF power state changes from d3 (hot) to d0 (un - initialized). magic packet while in remote wake - up from lan mode, the W89C840AF is in low power state (w89c940a all vdd and pins must remains at their supply levels). the device will not ge nerate any bus master transfers, no transmit operations will be initiated on the network. it require the received packet match as a magic packet, after which it generates a weak - up signal. the magic packet's packet matches as following rules: 1. the val id destination address that pass of the W89C840AF address filtering machine 2. the received magic packet does not contain crc error. 3. includes, anywhere in the packet with no breaks sequence of 6 bytes ffh synchronization stream followed by 16 duplicat ions of the destination address.
W89C840AF publication release date: oct ober 200 0 - 13 - revision 1.01 the W89C840AF scans for the sequence of 16 duplications address of its node id. if the W89C840AF detects this sequence it assertion the pmeb signal and is reflected in the power management control and status register (fpmc sr) and wake - up control and status register (fwupcs). 2. W89C840AF power management state and wake - up operation operation state fx register cx register tx/rx dma caps cappr wupfe mgpe pme_en hard - reset w/ pmcsp=0, rwul=x initial default or/from eeprom initial default or/from eeprom initial default fixed at 0 fixed at 00h fixed at 0 fixed at 0 fixed at 0 hard - reset w/ pmcsp=1, rwul=0 initial default or/from eeprom initial default or/from eeprom initial default fixed at 1 fixed at dch cleared to 0 clea red to 0 cleared to 0 hard - reset w/ pmcsp=1, rwul=1 initial default or/from eeprom initial default or/from eeprom initial default fixed at 1 fixed at dch cleared to 0 set to 1 set to 1 software reset (c00[0]) unchange d *c38,c3c,c40, c44,c48 unchange d *i nitial default for other initial default unchange d unchanged unchanged unchanged unchanged to d1 state *f04[1:0] masked by d1 state *unchange d for other *c18[13],c18 [1] masked by d1 state *unchange d for other disable unchanged unchanged unchanged unchang ed unchanged to d3(hot) state *f04[1:0] masked by d3(hot) state *unchange d for other *c18[13],c18 [1] masked by d3(hot) state *unchange d for other disable unchanged unchanged unchanged unchanged unchanged d3(hot) to d 0 (u n - initialized) state initial def ault or from eeprom initial default or from eeprom initial default equivalent to hardreset equivalent to hardreset equivalent to hardreset equivalent to hardreset equivalent to hardreset the W89C840AF pci bus power management interface specification rev 1.0 and network device class power management reference specification v1.0a and acpi specification rev 1.0. these three specifications define how a pci network device can be controlled in an operating system directed power management (ospm) environment.
W89C840AF publication release date: oct ober 200 0 - 14 - revision 1.01 receive direct memory access function on receiving a data packet, the receive dma function will transfer these data from the internal receive fifo which has a size of 4k bytes to the host memory with the assistance of the on - chip pci bus master. during th e transaction cycle, the media access controller(mac) requests the receive dma state machine to move the data in the receive fifo onto the pci bus, and then move it to the host memory with a kind of data structure which is constructed and described by desc riptors. a number of receive descriptors in the chip, which generated by chip itself, are used to specify the descriptor structure and indicate the memory spaces for storing the received packet data. the receive descriptors are also used to store the rece ived packet status when a valid packet is received. each descriptor has a size of 4 long words that resides in the host memory. the first 32 bits are used to keep the received packet status information. the second 32 bits are used to specify the descripto r structure type and the size of the received data buffer. the remains 64 bits are used to specify the size and the address of the allocated memory for this data buffer and the next one. the received packet can be described by a single descriptor or multi ple descriptors. it depends on the configuration, previously set by software driver, and the received packet length. the received packet data also can be stored in a single data buffer or multiple data buffers. the descriptor structure can be either a ri ng structure or a chain structure. a mixed structure mode is also allowed, too . in the descriptors with the ring structure, host allocates a big continuous memory for keeping all the descriptor information. each descriptor can point to two data buffer add resses to store the received packet data. though the data buffers are not necessarily be contiguous, the descriptors must be contiguous one after the other. the following figures describe the ring structures of receive descriptor.
W89C840AF publication release date: oct ober 200 0 - 15 - revision 1.01 status register structure constructing register data buffer 1 pointer data buffer 2 pointer first descritpor of rx descriptor list data buffer 1 data buffer 2 status register structure constructing register data buffer 1 pointer data buffer 2 pointer second descritpor of rx descriptor list data buffer 1 data buffer 2 status register structure constructing register data buffer 1 pointer data buffer 2 pointer third descritpor of rx descriptor list data buffer 1 data buffer 2 status register structure constructing register data buffer 1 pointer data buffer 2 pointer last descritpor of rx descriptor list data buffer 1 data buffer 2 for storing the first rx packet data for storing the first rx packet data for storing the 2nd rx packet data for storing the 2nd rx packet data for storing the 3rd rx packet data for storing the 3rd rx packet data for storing the nth rx packet data for storing the nth rx packet data the software driver can request more than one descriptors and data buffers at a time. as described in the above diagram, the total descriptors are constructed as a ring. a packet can be stored in more than one data buffers. in that case, the data buffer 1 is stored first and then data buffer 2. if a packet contains more data than the two data buffer can accommodate, it fetches the next descriptor and two new data buffers to save the extra more data. that is a packet can be stored in more than one descriptors. in the contrary, a descriptor is not allowed to hold more than one packet. if the data buffer 1 can completely store the received packet, the data buffer 2 will be left empty and the next packet will be firstly stored at the data buffer 1 in the next descriptor. the diagram shown above is just one case of the buffer application. when the last descriptor is used by a received packet, the next descriptor should be the first descriptor of the ring. once the descript ors are processed by the driver, it can be released to the ring for later use. in the ring structure, the start address of the next descriptor is specified by the skip length, bit2 to bit6 of c00/cbcr register, and the start address of the first descriptor is specified by the c0c/crdla register. for the descriptors with the chain structure, host is allowed to allocate scatterly a block of memory with the size of 4 long words, linked by the pointer which located at the ext descriptor pointer _ field. each d escriptor has only one link to a data buffer to store the received packet data. the descriptors are located randomly and linked by the second pointer in each descriptor, which points to the start address of the next descriptor. the following figures descri be the chain structures of receive descriptor.
W89C840AF publication release date: oct ober 200 0 - 16 - revision 1.01 status register structure constructing register data buffer 1 pointer next descriptor pointer first descritpor of the rx descriptor data buffer 1 status register structure constructing register data buffer 1 pointer next descriptor pointer second descritpor of the rx descriptor status register structure constructing register data buffer 1 pointer next descriptor pointer third descritpor of the rx descriptor status register structure constructing register data buffer 1 pointer next descriptor pointer last descritpor of the rx descriptor for storing the first rx packet data data buffer 1 for storing the 2nd rx packet data data buffer 1 for storing the 3rd rx packet data data buffer 1 for storing the nth rx packet data as shown in the above diagram, descriptor s are linked by pointers to construct a chain. the data can be stored in more than one data buffers. in the last descriptor of the descriptor chain, the content of the r03 register will be ignored by the receive dma state machine if the rlink bit of the r01 register in the last descriptor is set to high. when the last descriptor has already been used, the next descriptor pointer in this one will link to the start ad dress of the first descriptor in the chain if it is available. in the chain structure, the base address of the first descriptors is specified by the c0c/crdla register, the receiving descriptors list address register and the base address of the next descri ptor is pointed by the r03 of the current descriptor. the following figure describes the mixed mode list, composed of both the ring and the chain structures at the same time.
W89C840AF publication release date: oct ober 200 0 - 17 - revision 1.01 status register structure constructing register data buffer 1 pointer next descriptor pointer first descritpor of the rx descriptor data buffer 1 status register structure constructing register data buffer 1 pointer next descriptor pointer second descritpor of the rx descriptor status register structure constructing register data buffer 1 pointer next descriptor pointer third descritpor of the rx descriptor status register structure constructing register data buffer 1 pointer data buffer 2 pointer last descritpor of the rx descriptor for storing the first rx packet data data buffer 1 for storing the 3rd rx packet data data buffer 1 for storing the nth rx packet data data buffer 2 for storing the nth rx packet data data buffer 1 for storing the 2nd rx packet data data buffer 2 for storing the 2nd rx packet data skip length between descriptors as shown by the above diagram, the descri ptors construct a mixed structure. each descriptor with the chain structure can link to only one data buffer and the last 32 bits are treated as the next descriptor pointer. when the rlink bit of the current descriptor, other than the last descriptor in th e descriptor list, is reset to low and this descriptor is programmed to be a ring structure, the current descriptor can point to two data buffers and the skip length between descriptor is used to point to the next descriptor starting address. in the last descriptor in the descriptor list, the r03 register will be used to designate the base address of the data buffer 2 while the rlink bit of the last descriptor is reset to low, but will be ignored if the rlink bit of the last descriptor is set to high. that is, if the last descriptor is a ring structure, it acts as a ring and vice versa. the next descriptor field of the last descriptor will be the starting address of the first descriptor, no matter what the value of the rlink bit of the last descriptor is l ow or high. the data flow of a packet in the receiving path is shown as the following diagram.
W89C840AF publication release date: oct ober 200 0 - 18 - revision 1.01 data buffer 1 data buffer 2 data buffer 3 data buffer n rx descriptor 1 rx descriptor 2 rx descriptor 3 rx descriptor n 4 kbytes fifo data from mac receive dma state machine controls from mac status control data status & control pci master pci pci slave as shown the above diagram, the receiving dma state machine controls the data receiving processing and the rece iving status monitoring. on receiving the data packets, the receiving dma will start to move these data from fifo to the data buffer, pointed by descriptors in the host memory if there is an available data buffer and the byte count of the data received int o the fifo is larger than or equals to 64 bytes. if the received packet length is less than 64 bytes and runt packet is not accepted, the receiving dma will discard this invalid packet and give it a record in the status register. the receiving dma will sta rt to move the data in fifo after the full packet is received if runt packet is accepted. once a valid packet is received, the receive dma will advance the descriptor pointer for the next incoming packet. however, the current data buffer and the descriptor will be re - used if the current receiving packet is not a valid packet, i.e. the receive state machine will ignore the previously received packet data in the data buffer. each received packet will be treated as a valid packet if it meets the requirement in the bits 3, 4, 5, 6 and 7 of c18/cncr register. in some case of the data buffer unavailable temporarily, the incoming packet data from media will be queued in the fifo temporarily, meanwhile, the receive dma will enter suspend state at this time and a buf fer unavailable interrupt will be issued. the receive dma will start moving the data whenever the data buffer is available and a receiving operation is demanded, on the other hand, the data will be lost if the fifo is overflowed. the receiving status, e.g. , the receive descriptor access status, the receive completion status, the received data byte count, the received packet error status, the received packet data type, ... and so on., will be written back into the descriptor by the receive dma when the packe t is received successfully. during receiving a packet, the receive dma will release the access right of the descriptor and the data buffer to the driver immediately after the free byte space of the data buffers pointed by the current descriptor is counted down to zero and the receive dma will fetch the next available descriptor for the current incoming packet. it is known that the llc layer data is packed into the first 64 bytes of the packet in most application program. the driver and the upper layer appl ication program can read the protocol messages carried in the first 64 bytes of the incoming packet when the receive dma release the descriptor and the data buffer for the current incoming packet, although the current incoming packet is not yet received co mpletely. the function of the receive dma releasing the descriptor and the data buffer which have been used during receiving a packet allows the software and the hardware to process the receiving packet concurrently. this parallel processing of software an d the hardware can improve the system receiving performance significantly.
W89C840AF publication release date: oct ober 200 0 - 19 - revision 1.01 when the incoming packet is received completely, the receive dma will write the same copy of the packet receiving status to the first descriptor and the last descriptor of the curr ent frame respectively. the receiving status includes the receive completion status, the received byte count, the receive error type,...etc. all of the status is specified in the receive descriptor r00. when the software and hardware are concurrently proce ssing , the software needs not to go back to read the first descriptor of the current incoming packet for knowing the receive completed status or other receiving status when it is processing the last descriptor and the data buffer of the current incoming p acket. but, if there is only one descriptor needed for the current incoming packet, all of receiving status will be updated in the unique descriptor. the W89C840AF transmit dma function performs the data transfer from the host memory through on - chip pci bus master into the internal 2 kbytes transmit fifo. the transmit dma state machine will request the mac to send out the data in the fifo onto the mii. the transmit descriptor is used to set the transmit configuration and to point to the transmit data buf fer locations. each packet to be transmitted can be described by one or more than one descriptor. and each descriptor consists of four consecutive long word. the first long word(t00) is for the transmit frame status register. the t00 describes the descript or access right control, the packet transmitting status,...etc. the second long word(t01) is for the control register used to specify the transmission configuration, including the crc inhibit control, padding function control, the descriptor structure cont rol ... etc. the third long word (t02) is for the first data buffer pointer and the fourth long word is used as the second data buffer pointer in the ring structure. the transmit descriptor list also can be constructed as a ring structure or a chain struct ure. the mixed chain and ring structure is also allowed to be constructed. the scheme for constructing the transmit descriptor list is same as the one for receiving descriptor list, but, each transmit data buffer size is limited to under 1 kbytes other tha n the 2 kbytes receiving data buffer. in the consequence of the 1 kbytes transmit data buffer, each descriptor can point to a maximum two 1 kbytes data buffer totally. the data flow of the packet transmission is shown as the following diagram
W89C840AF publication release date: oct ober 200 0 - 20 - revision 1.01 data buffer 1 data buffer 2 data buffer 3 data buffer n tx descriptor 1 tx descriptor 2 tx descriptor 3 tx descriptor n 2 kbytes fifo data to mac transmission dma state machine controls from/to mac control data pci master long word aligning buffer pci pci slave the data to be transmitted is stored in the transmit data buffer in the host memory. the transmission dma state machine will fetch the data in the host memory into the transmit fifo. when the transmission dma is start ed up. all of the data fetched from the data buffer will be long word aligned before being queued into the transmission fifo. the driver program can inform the transmit dma the location of the data to be transmitted in the host memory and then the transmit dma will fetch the data from that location directly. because the address of the data may not long word aligned, so that the transmit dma need to align the data for passing the data to the mac in a long word aligned format. the aligned long word data, and then, is queued into the transmit fifo. the transmission dma will not request the mac to fetch the data in the fifo for transmitting until the byte count of the data in the fifo is reach the threshold defined by c18/cncr bit 14~20. the transmission dma i s implemented a pre - fetch function for speeding the transmit performance. with this implementation, the transmit dma will pre - fetch the next packet data in the host memory after the current packet data is moved into the transmit fifo completely. before sta rting to fetch the next packet data, the transmit dma will assert an interrupt if the transmit early interrupt is enabled. if there is no more packet to be transmitted, the transmit dma will report a buffer unavailable status and assert an interrupt if the transmit buffer unavailable interrupt is enabled. after all of the current packet data in the transmit fifo are transferred out by the mac block, the transmit dma will try to fetch the next packet data again automatically if the transmit dma is not fetchi ng the data from the host memory. a packet transmit interrupt will be asserted when the current packet is transmitted if the packet transmitted interrupt is enabled. the transmit dma will write back the current packet transmit status into the first descri ptor of the current transmit packet when the packet is successfully transmitted or is aborted due to excessive collision. for consecutively transmitting multiple packets, the software driver can previously program all the packet data in the host memory and then release the access right to the W89C840AF. once the transmit dma is turned on, the dma will transmit all of the packet out automatically. the inter - frame gap between these packets will be specified by the mac block for complying with the ieee802.3u s pecification.
W89C840AF publication release date: oct ober 200 0 - 21 - revision 1.01 for concurrently processing the packets transmitting, the transmission dma asserts the transmit early interrupt to trigger the software driver to set up the next transmitting packet data more earlier. the data transmission rate on the mii bu s can be either 10 mbps or 100 mbps which is quite lower than the rate on pci bus. mostly, the packet data is not yet completely transmitted onto the mii bus even though the packet data with only a few bytes have been all moved into the transmit fifo, the transmission dma still does not issue an interrupt to host. this will drop the transmit performance if the software driver waits for the current packet being transmitted onto the mii completely and then set up the next packet data. the transmit early inter rupt can avoid the time consumption when waiting for the transmit completion of the current packet occurs. media access control function (mac) the function of W89C840AF mac fully meets the requirements, defined by the ieee802.3u specification. the follo wing paragraphs will describe the frame structure and the operation of the transmission and receive. the transmission data frame sent from the transmit dma will be encapsulated by the mac before transmitting onto the mii bus. the sent data will be assembl ed with the preamble, the start frame delimiter (sfd), the frame check sequence and the padding for enforcing those less than 64 bytes to meet the minimum size frame and crc sequence. the out going frame format will be as following 10101010 - - - - 10101 010 1010111 d0 d1 d2 -- dn padding crc31 crc30 --- crc0 as mentioned by the above format, the preamble is a consecutive 7 - byte long with the pattern 10101010 _ and the sfd is a one byte 10101011 data. the padding data will be all 0 value if the sent data frame is less than 64 bytes. the padding disable function specified in the bit23 of the transmit descriptor t01 is used to control if the mac needs to pad data at the end of frame data or not when the transmitted data frame is less than 64 bytes. the padd ing data will not be appended if the padding disable bit is set to high. the bits crc0 ... crc31 are the 32 bits cyclic redundancy check(crc) sequence. the crc encoding is defined by the following polynomial specified by the ieee802.3. g x x x x x x x x x x x x x x x ( ) = + + + + + + + + + + + + + 32 26 23 22 16 12 11 10 8 7 5 4 2 1 this 32 bits crc appending function will be disabled if the inhibit crc of the transmission descriptor t01 is set to high. the mac also performs many other transmission functions specified by the ieee802.3, including the inter - frame spacing f unction, collision detection, collision enforcement, collision backoff and retransmission. the collision backoff timer is a function of the integer slot time, 512 bit times. the number of slot times to delay between the current transmission attempt to the next attempt is determined by a uniformly distributed random integer algorithm specified by the ieee802.3. the integer, r, is specified as the following 0 2 r k where k = min(n, 10)
W89C840AF publication release date: oct ober 200 0 - 22 - revision 1.01 the mac performs the receive functions s pecified by the ieee802.3 including the address recognition function, the frame check sequence validation, the frame disassembly, framing and collision filtering. the W89C840AF categorizes the input stream from media into three types of frame. these thre e types are the packet with uni - cast destination address, the multicast destination address and the broadcast destination address. a uni - cast address is defined as a destination address with its first bit(the lsb) low. a multicast address is defined as a d estination address with its first bit(the lsb) high but the other 47 bits are not all one. a broadcast address is defined as a destination address with its all 48 bits are one. all the three types of the packet reception is selectively determined by the co nfiguration of the bit 3, 4 and 5 of the c18/cncr register of the W89C840AF. the c40/cpa0 and c44/cpa1 are used to store your own 48 bits ethernet id. of the network node before starting to receive a packet. its contents comes from eeprom after power - on reset. the mapping relationship between the 48 bits id and the c40/cpa0 and c44/cpa1 is as following table. bit 31~ 24 bit 23 ~ 16 bit 15 ~ 8 bit 7 ~ 0 c40/cpa0 32th ~ 25th 24th ~ 17th 16th ~ 9th 8th ~ 1st c44/cpa1 reserved reserved 48th ~ 41th 40th ~ 33th the incoming packet with unicast address will be accepted if the bit 3 of c18/cncr is reset to low and the destination address of the incoming unicast packet has to match with the content of c40/cpa0 and c44/cpa1 setting. all of the incoming packe t with unicast address will be accepted if the bit 3 of c18/cncr is set to high. in broadcast case, to accept a packet with a broadcast destination address, the bit 5 of c18/cncr must be set to high. otherwise, the W89C840AF will reject this broadcast pa cket. in multicast case, a packet with a multicast destination address will be accepted if the destination address is grouped into the selected group specified by the registers of c38/cma0 and c3c/cma1. these two registers are used to store the group map ping for the multicast packet. the following table shows the group mapping relationship between the groups and the contents of c38/cma0 and c3c/cma1. it is obviously shown that each bit in the registers c38/cma0 and c3c/cma1 represents one group. bit 3 1~ 24 bit 23 ~ 16 bit 15 ~ 8 bit 7 ~ 0 c38/cma0 group 32 ~ 25 group 24 ~ 17 group 16 ~ 9 group 8 ~ 1 c3c/cma1 group 64 ~ 57 group 56 ~ 49 group 48 ~ 40 group 39 ~ 33
W89C840AF publication release date: oct ober 200 0 - 23 - revision 1.01 all the 48 bits destination address(including physical address, multicast address and broadcast address) of the incoming packet will be fed into the crc generating mechanism. the six most significant bits of the crc(crc31, crc30, ... crc26) will determine which group the incoming packet belongs to. the relationship between these six bits of crc content and the group which the multicast address belongs to is shown as the following table. crc crc28,27,26 31,30,29 111 110 101 100 011 010 001 000 000 grp 8 grp 7 grp 6 grp 5 grp 4 grp 3 grp 2 grp 1 001 grp 16 grp 15 grp 14 grp 13 grp 12 grp 1 1 grp 10 grp 9 010 grp 24 grp 23 grp 22 grp 21 grp 20 grp 19 grp 18 grp 17 011 grp 32 grp 31 grp 30 grp 29 grp 28 grp 27 grp 26 grp 25 100 grp 40 grp 39 grp 38 grp 37 grp 36 grp 35 grp 34 grp 33 101 grp 48 grp 47 grp 46 grp 45 grp 44 grp 43 grp 42 grp 41 110 grp 56 grp 55 grp 54 grp 53 grp 52 grp 51 grp 50 grp 49 111 grp 64 grp 63 grp 62 grp 61 grp 60 grp 59 grp 58 grp 57 a packet with multicast address which belongs to the nth group will be accepted if the relative bit of the nth group in c38/cma0 and c3c/cma1 is set to high and the bit 4 of c18/cncr is also set to high. besides the address recognition function, the mac also performs the frame check sequence validation function. each incoming packet data, including the destination address, source a ddress, the packet data and the 4 bytes crc data will be fed into the mac crc generating logic to generate a 4 bytes crc sequence. the mac will compare this new crc data with the one, included in the incoming packet. it will be recognized as an error packet if these two 4 - byte crc data is not the same. but the bit 7 of c18/cnc r will determine if the mac accepts the error packet or not. a high value of this bit will force mac to accept the error packet, and low to reject. an incoming packet without byte alignment will be treated as an error packet. some packets with the length l ess than 64 bytes caused by the collision event on the network are also treated as an error packet. the terminology for the packet with the length less than 64 bytes is called as runt packet. the extra control bit for accepting the runt packet is defined a s the bit 6 of c18/cncr. to accept a runt packet, both of the bit 6 and bit 7 of c18/cncr should be set to high. the mac will, finally, do the framing function to strip the preamble and the sfd before sending the receive data to the receive dma machine. t he data sent to the receive dma state machine includes the llc data and the 4 bytes crc. loopback diagnostics function the loopback mode defined for W89C840AF is used for diagnostic. the transmit out data will appear on the mii interface and will the n be fed back into the internal receive channel of the mac block and then be
W89C840AF publication release date: oct ober 200 0 - 24 - revision 1.01 moved back into the host memory by the receive dma state machine. in loopback mode, the transmission function will work normally as it is in normal mode, but, only the data is pro cessed by the mac. the col, crs will be ignored in loopback mode. to program the W89C840AF into loopback mode, the loopback mode of c18/cncr should be set to 01h. full duplex and half duplex function the transmit dma and the receive dma are independent ly operating no matter what the W89C840AF is set in full duplex mode or in half duplex mode. however, in mac side, the operations are different and depends on the full duplex or half duplex mode is selected. in the half duplex mode, the mac should perform the transmission or reception operation at the different time frame. simultaneous transmission and reception operation are not allowed. once the half duplex mode is selected, the mii input signals, col and crs , will be valid inputs for the W89C840AF. dur ing the time the mac is transmitting a packet, an active signal col on mii bus will be judged to be a transmit collision event, occurred on the media. however, in the time duration from 10 bits time to 16 bits time after the packet is transmitted, the acti ve col signal is recognized as a sqe test signal but not a collision event. the active signal crs will be recognized as a loopback carrier sense signal when the mac is transmitting a packet. the carrier sense lost status is relied on the crs. normally, the re should not be any carrier sense lost during transmitting if the media and devices are functional. in the full duplex mode, the mac can perform the transmission and receive operation at the same time. in this case, the col and crs signal on mii will be ignored. there are no collision event, sqe lost and carrier sense lost defined in the full duplex mode. any activity on col and crs will not affect the operation inside the mac. to select the full duplex mode or the half duplex mode, you have to set the full duplex control bit of c18/cncr. network media speed selection function the W89C840AF is specifically designed for both 100base - t and 10base - t ethernet. the transmission rate is based on the clock speed of the mii input signals txclk and rxclk. the m ac will transmit the data based on the clock rate of txclk, and receive the mii input data based on the clock rate of rxclk. in 100base mode, the txclk and rxclk will be at 25mhz, however, in 10base mode, the txclk and rxclk will be at 2.5 mhz. the clock rate of the rxclk and the txclk is dependent and determined by the external physical layer device(phy) which supports 10/100m bit rate.
W89C840AF publication release date: oct ober 200 0 - 25 - revision 1.01 the fast_ethernet_select in c18/cncr register is used to select the mode in which the W89C840AF is working in 10m or 1 00mbps. in 100mbps (100base) mode, the mac will not check the sqe status when transmitting a packet. in 10mbps(10base) mode, the sqe signal will be checked by mac. no further function is controlled by the fast_ethernet_select of c18/cncr register. device identifying function this function is to utilize the device configuration data stored in the device configuration registers, in which some of them loaded from the external eeprom. you can tell the vendor, device type, revision, signature and your own defi ned code through reading the contents of these registers. the f00/fid is a read - only register which contains the vendor id. and device id., used for identification. its _ contents is loaded from the external eeprom when hardware reset only. the second rea d only register f08/frev used for identification. it contains the revision id. which is also loaded from eeprom only. the ethernet device identification code is also included in f08/frev, but it is a built in code, not loaded form eeprom. a nother ide ntification register is the f40/fsr, a read only, too. the signature code for winbond W89C840AF is built in the f40/fsr signature register. the 12hth and 9ahth bytes will be read out recursively when a number of consecutive pci configuration space read ope ration is accessed to the f40/fsr. the first, third, fifth,...etc. odd read operation will get 12h, however, the second, fourth, sixth,...etc. even read operation will get 9ah. for some special requirement, the field of driver area of f40/fsr can be used as a word - width data buffer for latching the user defined identification code. eeprom hardware reset auto load and software programming function the following configuration parameters should be stored in a eeprom device for configuring the W89C840AF an d can be loaded into the corresponding configuration register while power - on reset occurring. 1) 6 bytes ethernet id. 2) 2 bytes subsystem id. 3) 2 bytes subsystem vendor id. 4) 2 bytes device id. 5) 2 bytes vendor id. 6) 1 bytes re vision id. 7) 1 byte booting device size , power management capability support and remote wake - up from lan 8) 1 byte maximum latency 9) 1 byte minimum grant
W89C840AF publication release date: oct ober 200 0 - 26 - revision 1.01 the data mapping and its offset address for all of the above parameters is as the follo wing table. address high byte (bit 15 ~ bit 8) low byte (bit 7 ~ bit 0) 09h~3fh reserved reserved 08h pmcsp/rwul/c48 revision id 07h vendor id(high byte) vendor id(low byte) 06h device id(high byte) device id(low byte) 05h subsystem vendor id(high byte) subsystem vendor id(low byte) 04h subsystem id(high byte) subsystem id(low byte) 03h maxlat mingnt 02h ethernet address 5 ethernet address 4 01h ethernet address 3 ethernet address 2 00h ethernet address 1 ethernet address 0 the W89C840AF wil l generate a nine - word reading command to the eeprom to read the configuration data and store these data into the configuration registers and the control register of the W89C840AF after hardware reset. the serial eeprom 93c06 or 93c46 will be the choice as the storage device for storing these configuration data. other than the reading after hardware reset, the eeprom can be read by the application program. the c24/cmiir register provides an alternative path to access the data in eeprom. the bits 0, 1, 2, . .. and 7 of cmiir are general i/o port. when the bit 11 of cmiir is set to high, the bits 0, 1 and 2 will be put on the eecs, btadata1/eeck, and btadata2/eedi, respectively , to trigger eeprom. the data from eeprom running over the pin btadata3/eedo will b e hold and latched by the bit 3 of cmiir, and be read by W89C840AF. the application program can program bits 0, 1 and 2 of cmiir to generate the chip select signal, clock and read command, based on the ac timing spec. of the eeprom device, to eeprom, and r unning over the pins eecs, btadata1/eeck, and btadata2/eedi respectively. for reading the output data from eeprom, the application program should make the necessary level transition as a clock on btadata1/eeck. one falling edge will trigger the eeprom devi ce to drive the next bit of output data relative to the input command. the eeprom can be programmed through the general i/o port of the W89C840AF. the application program can write data into the eeprom through programming the bits 0, 1 and 2 of the regist er cmiir. in the write cycle of the eeprom device, the data on btadata3/eedo is meaningless. boot rom system read and software programming function the W89C840AF can address up to 256 kbytes memory space for the on - board boot rom device. the on - board boot rom device will be mapped into the host memory by the system bios (basic input/output system). after power - on reset, the bios will write a set of value with all 1 to the f30/ferba configuration register and then read the value back. the W89C840AF will ret urn the all 1 value, except some bits with 0,
W89C840AF publication release date: oct ober 200 0 - 27 - revision 1.01 depending on the configuration of c48/cbrcr. the relationship between the return value from the register f30/ferba and the setting to the register c48/cbrcr is described as the following table. rom size c48/cb rcr configuration f30/ferba return value no boot rom 00000000h 00000000h no boot rom 00000001h 00000000h 8 kbytes rom 00000002h ffffe001h 16 kbytes rom 00000003h ffffc001h 32 kbytes rom 00000004h ffff8001h 64 kbytes rom 00000005h ffff0001h 128 kbytes rom 00000006h fffe0001h 256 kbytes rom 00000007h fffc0001h according to the return value from the register f30/ferba, the system bios can determine how large the memory space is required and then write the memory space base address back to the register f30/ferba. in the cases of no boot rom, the system bios will write back all 0 back into f30/ferba. the address decoder of W89C840AF for accessing the on - board rom memory will be enabled if both the bit 0 of f30/ferba and the bit 1 of f04/fcs are set to high at the same time. the on - board boot rom data will be fetched by W89C840AF and loaded into the host memory. on the other hand , the address decoder will be disabled if the bit 0 of f30/ferba is reset to 0. under this case, W89C840AF will ig nore the c48/cbrcr, no matter what content it has. usually, the on - board boot rom data can be read by the system bios during host system booting or power - on reset, the W89C840AF also provides another access way for the application program to do some unus ual applications, like down loading the rom code or re - programming the rom code on line. the procedures for on - line reading the on - board rom device are described as following. 1) write the offset address into the c28/cbroa. 2) reset the bit 11 of c24/cmii r to 0. 3) set the bit 14 of c24/cmiir to 1. 4) read back the data form c24/cmiir the procedures for on - line writing the on - board rom device are described as following 1) write the offset address into the c28/cbroa. 2) reset the bit 11 of c24/cmiir to 0. 3) write the one byte data into c24/cmiir bit 0 to bit 7. 4) set the bit 13 of c24/cmiir to 1.
W89C840AF publication release date: oct ober 200 0 - 28 - revision 1.01 the bit 13 and bit 14 of the register c24/cmiir should not be set to 1 at the same time. in the case of both of the bit 13 and bit 14 are 1, it will not proper ly initialize the read or the write operation for rom device. the application program can check the contents of the register c24/cmiir to know if the read or write operation is already completed or not. the W89C840AF will start the read or the write operat ion when the bit 14 or bit 13 are set to high and will reset the bit 14 or bit 13 to 0 automatically after the read/write operation is completed. for the writing operation, the software driver should not start up the next write data request until the bit 1 3 of c24/cmiir is reset to 0 by the W89C840AF. for the read operation, the read data will be valid only if the bit 14 of the register c24/cmiir is reset to 0 by the W89C840AF. the operation of reading or writing for the on - board rom device through the reg isters c24/cmiir and c28/cbroa will not affect the memory space configuration of the host system because either read or write operation is performed through the pci i/o access command. mii management function the mii management function provided by w89c8 40af can be used to access the registers of the external physical layer device. the bits 16, 17, 18 and 19 of c24/cmiir are designed for mii management . when the bit 18 is reset to low, the mdio signal on mii bus is an input of W89C840AF. the data on the mdio will be reflected transparently on the bit 19 of the register c24/cmiir. no data latching function for this input data. while the bit 18 is set to high, the mdio signal on mii will be changed to be an output pin of W89C840AF and the data written to th e bit 17 of the register c24/cmiir will be driven onto the mdio. to generate the necessary clock for mii management, the application program can write 1 and 0 alternately to the bit 16 of the register c24/cmiir. the clock is used by the external physical l ayer device to clock in the written data or to clock out the read data. system resource configuring function the W89C840AF will require the i/o space, memory space and the interrupt line to perform the communication between the network and the host. the system bios can write all 1 data into the register f10/fbioa and read back its value to determine how large the i/o space the W89C840AF requires. the W89C840AF will return a fffff801h value if the system bios has previously written all 1 value into the f1 0/fbioa. this means that the W89C840AF requires 128 bytes system i/o space. the i/o space allocated for the W89C840AF is relied on which i/o address base is written into f10/fbioa. the W89C840AF will decode the address message based on the content of the r egister f10/fbioa to determine if the current pci transaction is accessed to its registers. for memory space allocation, the system bios can write all 1 value into the register f14/fbma of the W89C840AF and read back its value to determine how large memory space the W89C840AF requires. the W89C840AF will also return fffff801h value if the system bios has previously written all 1 value into the register f14/fbma. this means that the W89C840AF requires 128 bytes system memory space. the memory space allocated for the W89C840AF depends on which memory address base is written into the register f14/fbma. the W89C840AF will decode the address message based on the content of the register f14/fbma to determine if the current pci transaction is accessed to its regist ers.
W89C840AF publication release date: oct ober 200 0 - 29 - revision 1.01 the W89C840AF uses only one interrupt pin, inta#. however, the interrupt line resource assignment is determined by the system bios by writing the related data into the bits 0 to 7 of the register f3c/fir in the W89C840AF. the data written into the bi ts0 to 7 of the register f3c/fir can be used by the driver program to decide the interrupt service subroutine configuring. pci configuration register the general attributes of the pci configuration registers implemented in the W89C840AF are described as the following: 1) writes to the reserved configuration registers are treated as no - op. the bus access will complete without affecting any data in the W89C840AF internal registers. 2) read from the reserved or un - implemented registers will be returned 0 v alue. 3) s/w reset (c00<0> ) has no effect on the pci configuration registers. 4) h/w reset will clear the pci configuration registers. 5) the implemented configuration registers support any byte enable combination access. 6) burst access to the configura tion registers will be terminated after 1st data transfer completed with a with a disconnect without data. the following table outlined all the pci configuration registers inside this chip and summarized its function. code abbr. meaning system i/o offset f00 fid identification 00h f04 fcs command and status 04h f08 frev revision 08h f0c flt latency timer 0ch f10 fbioa base i/o address 10h f14 fbma base memory address 14h ---- ---- reserved 18~28h f2c fssid subsystem id 2ch f30 ferba expansion rom base address 30h f34 fcapr capabilities pointer 34h ---- ---- reserved 38h f3c fir interrupt 3ch f40 fsr signature 40h f48 fwupcs wake - up control and status 48h f4c fwfofst wake - up frame offset 4ch f50 fwf0crc wake - up frame 0 crc 50h f54 fwf1crc wake - up frame 1 crc 54h
W89C840AF publication release date: oct ober 200 0 - 30 - revision 1.01 f58 fwf2crc wake - up frame 2 crc 58h f5c fwf3crc wake - up frame 3 crc 5ch f60 fwf0bm0 wake - up frame 0 byte - mask 0 60h f64 fwf0bm1 wake - up frame 0 byte - mask 1 64h f68 fwf1bm0 wake - up frame 1 b yte - mask 0 68h f6c fwf1bm1 wake - up frame 1 byte - mask 1 6ch f70 fwf2bm0 wake - up frame 2 byte - mask 0 70h f74 fwf2bm1 wake - up frame 2 byte - mask 1 74h f78 fwf3bm0 wake - up frame 3 byte - mask 0 78h f7c fwf3bm1 wake - up frame 3 byte - mask 1 7ch fdc fpm c power management capabilities dch fe0 fpmcsr power management control and status e0h the initial value of the W89C840AF pci configuration registers after hardware reset and software reset is listed as following table. code abbr. hardware reset software reset f00 fid 00000000h non affected f04 fcs 02800000h non affected f08 fre 02000000h non affected f0c flt 00000000h non affected f10 fbioa ffffff81h non affected f14 fbma ffffff80h non affected f2c fssid 00000 000h non affected f30 ferba 00000000h non affected f34 fcappr 000000dch or or 00000000h non affected f3c fir 00000100h non affected f40 fsr 00000012h or 00000012h non affected f48 fwupcs 80000000h non affected f4c fwfofst 00000000h non affected f5 0 fwf0crc f f f f f f f f h non affected f54 fwf1crc f f f f f f f f h non affected f58 fwf2crc f f f f f f f f h non affected f5c fwf3crc f f f f f f f f h non affected
W89C840AF publication release date: oct ober 200 0 - 31 - revision 1.01 f60 fwf0bm0 00000000h non affected f64 fwf0bm1 00000000h non affected f68 fwf1bm 0 00000000h non affected f6c fwf1bm1 00000000h non affected f70 fwf2bm0 00000000h non affected f74 fwf2bm1 00000000h non affected f78 fwf3bm0 00000000h non affected f7c fwf3bm1 00000000h non affected fdc fpmc 5a010001h non affected fe0 fpmcsr 0 0000000h non affected f00/fid device id register the register f00/fid specifies the vendor id and the particular device id in the W89C840AF. bit attribute bit name description 31:16 r did device id. loaded from eeprom after hardware reset de - asserted. 15:0 r vid vendorid. loaded from eeprom after hardware reset de - asserted. f04/fcs command and status register (offset + 04h) value after hard - reset: 02900000h the f04/fcs comprises two parts, the one is the command register (fcs[15:0]) which provide s the control of 840 pci activity, and the other is the status register (fcs[31:16]) which shows the status information of pci event. writing 00h to the command registers will put W89C840AF logically isolated from all pci access except configuration acces s. writing 1 to the bits of the status register will clear them; writing 0 has no effect. bit attribute bit name description 31 r/w dpe detected parity error. the dpe will be set if a parity error is detected by W89C840AF even the parity error response bit of f04/fcs(bit 6) is disabled. 30 r/w sse signaled system error. the sse will be set if W89C840AF assert serrb.
W89C840AF publication release date: oct ober 200 0 - 32 - revision 1.01 29 r/w rma received master abort. the rma will be set if 840 master transaction take a master abort. 28 r/w rta received target abort. t he rta will be set if the 840 master transaction is terminated by a target abort. 27 r/w sta signaled target abort. the sta will be set if the W89C840AF slave transaction take a target abort. 26:25 r dt devsel# timing: fixed at 01 to indicate a medium d evsel# assert timing. 24 r/w dped data parity error detected. the dped will be set if the following three conditions are met: 1). the W89C840AF asserts perrb or detects out that perrb asserted by other device. 2). the W89C840AF acts as a master in the tra nsaction that the error occurs. 3). the parity error response bit (bit 6) is set. 23 r fbtbc fast back to back capable. fixed at 1 to indicate capability of accepting fast back to back transactions which are not accessing to the same target. 22: 21 r --- reserved. fixed at 0. 20 r caps capabilities set 1 to indicate that w89c840a implements the pci power management capability. after hard - reset, if pmcsp=1 then caps is fixed at 1. after hard - reset, if pmcsp=0 then caps is fixed at 0. 19:9 r --- reserved . fixed at 0. 8 r/w se serr# enable. set se high to enable the W89C840AF to assert serr# if an address parity error is detected. this bit and bit 6 must be set 1 to signal serr event. 7 r ---- reserved. fixed at 0. 6 r/w per parity error response. set per to high to enable the W89C840AF to respond to parity error. when per is reset, the W89C840AF will ignore any parity error and continue the normal operation. the W89C840AF internal parity checking and generation function will not be disabled even per i s reset.
W89C840AF publication release date: oct ober 200 0 - 33 - revision 1.01 5:3 r --- reserved. fixed at 0. 2 r/w bm bus master. set bm to high will allow W89C840AF acting as a bus master. reset bm to low will disable the W89C840AF bus master ability. 1 r/w ms memory space. set ms to high will allow W89C840AF to resp ond to memory space access by the host. 0 r/w ios i/o space. set ios to high will allow W89C840AF to respond to i/o space access by the host. f08/frev device revision register this register, a read - only with built - in code, shows W89C840AF revision nu mber and its class code. bit attribute bit name description 31:24 r bc base class code. fixed at 02h to indicate a network controller. 23:16 r sc subclass code. fixed at 00h to indicate a ethernet controller. 15:8 r ic interface code. fixed at 0. 7:0 r rev revision id. this field represents the revision number. loaded from eeprom after hardware reset de - asserted f0c/flt latency timer register this register specify the W89C840AF master bus latency timer. bit attribute bit name description 31:16 r --- fixed to 0. 15:8 r/w lt latency timer. specify, in units of pci clocks, the latency timer value of W89C840AF. when W89C840AF asserts frameb, its latency timer starts counting up. the W89C840AF will initiate the transaction termination as soon as its gnt# de - asserted if the timer expired before W89C840AF de - asserts frameb. 7:0 r --- fixed at 0.
W89C840AF publication release date: oct ober 200 0 - 34 - revision 1.01 f10/fbioa base i/o address register this register is written by software after power - on to specify W89C840AF base i/o address in the system. bit attribute bi t name description 31: 7 r/w bioa base i/o address. written by power - on software to specify base i/o address. the W89C840AF requires a 128 bytes wide i/o space. 6:1 r --- reserved. fixed at 0. 0 r io i/o space indicator. fixed at 1. f14/fbma base memo ry address register this register is written by power - on software to specify W89C840AF base memory address in the system. bit attribute bit name description 31: 7 r/w bma base memory address. written by power - on software to specify base memory address. the W89C840AF requires a 128 bytes wide memory space. 6:1 r --- reserved. fixed at 0. 0 r mem memory space indicator. fixed at 0. f2c/fssid subsystem id register this register is loaded from the external eeprom. the W89C840AF will issue a retry signa ls to host when the host tries to access to this register while the eeprom auto - loading is not yet completed. bit attribute bit name description 31:16 r sbid subsystem id. loaded from eeprom after hardware reset de - asserted. 15:0 r sbvid subsystem vend or id. loaded from eeprom after hardware reset de - asserted f30/ferba expansion rom base address register this register is written by power - on software to specify the on - board boot rom base address in the system. bit attribute bit name description
W89C840AF publication release date: oct ober 200 0 - 35 - revision 1.01 31:13 r/w eromb expansion rom base address. written by power - on software to specify expansion rom base address. the W89C840AF will request op to 256k bytes memory space for the on board boot rom device according the configuration of c48/cbrcr. the return back read value of bit 0 to bit 17 of f30/ferba will depend on the configuration of c48/cbrcr. 12:1 r --- reserved. fixed at 0. 0 r/w rome expansion rom enable. set both this bit and f04/fcs bit 1 to 1 to enable expansion rom access ability. the f04/fcs bit 1 has precedence over this bit. f34/fcappr capabilities pointer register (offset + 34h) value after hard - reset: 00000000h or 000000dch bit attribute bit name description 31:8 r --- reserved. fixed at 0. 7:0 r cappr capabilities pointer the capa bilities pointer provide the offset into the pci configuration space for the location of power management register block. after hard - reset, if pmcsp=1 then cappr is fixed at dch. after hard - reset, if pmcsp=0 then cappr is fixed at 00h. f3c/fir interrupt register the upper half of this register is loaded from external serial eeprom while the lower half is written . the W89C840AF will issue a retry signals to host when the host tries to access to this register while the eeprom auto - loading is not yet compl eted. bit attribute bit name description 31:24 r maxlat max_lat. this indicates how often, in units of 0.25 u s, the W89C840AF needs to gain access to pci bus. assuming pci clock rate is 33 mhz. 23:16 r mingnt min_gnt. this indicates how long a burst period, in units of 0.25 u s, is needed by the W89C840AF. assuming pci clock rate is 33 mhz. 15:8 r ipin interrupt pin. fixed at 01h to indicate inta# is used.
W89C840AF publication release date: oct ober 200 0 - 36 - revision 1.01 7:0 r/w iline interrupt line. written by power - on software to specify routing of interrupt line. f40/fsr signature register (offset + 40h) value after hard - reset: 00000012h the f40/fsr register is designed for identifying the hardware of W89C840AF. bit attribute bit name description 31:16 r/w dvar driver area this field is for driver special use. the driver can write some specific pattern to the se bits for bundling the software and hardware of W89C840AF together. 15:8 r --- reserved. fixed at 0. 7:0 r sig signature. after the hardware reset, these 8 bits value is toggled as following sig = 12h at (2n - 1)th read 9ah at 2nth read where n= 1, 2, .... f48/fwupcs wake - up control and status register (offset + 48h) value after hard - reset: 80000000h bit attribute bit name description 31 r/w pmcsp reserved 30 r/w rwul reserved 29:21 r --- reserved. fixed at 0. 20 r/w rw upf3 received wake - up frame 3 when set, indicates that a wake - up frame 3 has been received if wake - up frame detector is enabled (wupfe=1). writing a 1 to this bit will clear it. writing a 0 has no effect. 19 r/w rwupf2 received wake - up frame 2 when set, indicates that a wake - up frame 2 has been received if wake - up frame detector is enabled (wupfe=1). writing a 1 to this bit will clear it. writing a 0 has no effect.
W89C840AF publication release date: oct ober 200 0 - 37 - revision 1.01 18 r/w rwupf1 received wake - up frame 1 when set, indicates that a wake - up frame 1 has b een received if wake - up frame detector is enabled (wupfe=1). writing a 1 to this bit will clear it. writing a 0 has no effect. 17 r/w rwupf0 received wake - up frame 0 when set, indicates that a wake - up frame 0 has been received if wake - up frame detector is enabled (wupfe=1). writing a 1 to this bit will clear it. writing a 0 has no effect. 16 r/w rmgp received magic packet when set, indicates that a magic packet has been received if magic packet detector is enabled (mgpe=1). writing a 1 to this bit wi ll clear it. writing a 0 has no effect. 15:2 r --- reserved. fixed at 0. 1 r/w wupfe wake - up frame detector enable a 1 enable the operation of wake - up frame detector. this bit is reset when w89c840a changes from d3 (hot) to d0 (un - initialized) after hard - reset, if pmcsp=0 then wupfe is fixed at 0. 0 r/w mgpe magic packet detector enable a 1 enable the operation of magic packet detector. this bit is reset when w89c840a changes from d3 (hot) to d0 (un - initialized). after hard - reset, if pmcsp=1 and rwul=1 t hen mgpe is set to 1. after hard - reset, if pmcsp=1 and rwul=0 then mgpe is cleared to 0. after hard - reset, if pmcsp=0 then mgpe is fixed at 0. f4c/fwfofst wake - up frame offset register (offset + 4ch) value after hard - reset: 00000000h bit attribute bit name description 31:24 r/w wfofst3 offset address for wake - up frame 3 match 23:16 r/w wfofst2 offset address for wake - up frame 2 match 15:8 r/w wfofst1 offset address for wake - up frame 1 match 7:0 r/w wfofst0 offset address for wake - up frame 0 ma tch f50/fwf0 crc wake - up frame 0 crc register (offset + 50h)
W89C840AF publication release date: oct ober 200 0 - 38 - revision 1.01 value after hard - reset: f f f f f f f f h bit attribute bit name description 31:0 r/w wf0crc crc value for wake - up frame 0 match f54/fwf1 crc wake - up frame 1 crc register (offset + 54h) value after hard - reset: f f f f f f f f h bit attribute bit name description 31:0 r/w wf1crc crc value for wake - up frame 1 match f58/fwf2 crc wake - up frame 2 crc register (offset + 58h) value after hard - reset: f f f f f f f f h bit attribute bit nam e description 31:0 r/w wf2crc crc value for wake - up frame 2 match f5c/fwf3 crc wake - up frame 3 crc register (offset + 5ch) value after hard - reset: f f f f f f f f h bit attribute bit name description 31:0 r/w wf3crc crc value for wake - up frame 3 matc h f60/fwf0bm0 wake - up frame 0 byte - mask 0 register (offset + 60h) value after hard - reset: 00000000h bit attribute bit name description 31:0 r/w wf0bm0 wake - up frame 0 byte - mask 0 the bit 0 is the byte 0 mask of wake - up frame 0. --- the bit 31 is the b yte 31 mask of wake - up frame 0. f64/fwf0bm1 wake - up frame 0 byte - mask 1 register (offset + 64h) value after hard - reset: 00000000h
W89C840AF publication release date: oct ober 200 0 - 39 - revision 1.01 bit attribute bit name description 31:0 r/w wf0bm1 wake - up frame 0 byte - mask 1 the bit 0 is the byte 32 mask of wake - up frame 0. --- the bit 31 is the byte 63 mask of wake - up frame 0. f68/fwf1bm0 wake - up frame 1 byte - mask 0 register (offset + 68h) value after hard - reset: 00000000h bit attribute bit name description 31:0 r/w wf1bm0 wake - up frame 1 byte - mask 0 the bit 0 is the byte 0 mask of wake - up frame 1. --- the bit 31 is the byte 31 mask of wake - up frame 1. f6c/fwf1bm1 wake - up frame 1 byte - mask 1 register (offset + 6ch) value after hard - reset: 00000000h bit attribute bit name description 31:0 r/w wf1bm1 wake - u p frame 1 byte - mask 1 the bit 0 is the byte 32 mask of wake - up frame 1. --- the bit 31 is the byte 63 mask of wake - up frame 1. f70/fwf2bm0 wake - up frame 2 byte - mask 0 register (offset + 70h) value after hard - reset: 00000000h bit attribute bit name des cription 31:0 r/w wf2bm0 wake - up frame 2 byte - mask 0 the bit 0 is the byte 0 mask of wake - up frame 2. --- the bit 31 is the byte 31 mask of wake - up frame 2. f74/fwf2bm1 wake - up frame 2 byte - mask 1 register (offset + 74h) value after hard - reset: 000000 00h
W89C840AF publication release date: oct ober 200 0 - 40 - revision 1.01 bit attribute bit name description 31:0 r/w wf2bm1 wake - up frame 2 byte - mask 1 the bit 0 is the byte 32 mask of wake - up frame 2. --- the bit 31 is the byte 63 mask of wake - up frame 2. f78/fwf3bm0 wake - up frame 3 byte - mask 0 register (offset + 78h) value after hard - reset: 00000000h bit attribute bit name description 31:0 r/w wf3bm0 wake - up frame 3 byte - mask 0 the bit 0 is the byte 0 mask of wake - up frame 3. --- the bit 31 is the byte 31 mask of wake - up frame 3. f7c/fwf3bm1 wake - up frame 3 byt e - mask 1 register (offset + 7ch) value after hard - reset: 00000000h bit attribute bit name description 31:0 r/w wf3bm1 wake - up frame 3 byte - mask 1 the bit 0 is the byte 32 mask of wake - up frame 3. --- the bit 31 is the byte 63 mask of wake - up frame 3. fdc/fpmc power management capabilities register (offset + dch) value after hard - reset: 5a010001h bit attribute bit name description
W89C840AF publication release date: oct ober 200 0 - 41 - revision 1.01 31:27 r pme_sp pme_support bit 31 = 0 bit 30 = 1 --- pmeb can be asserted from d3 (hot) bit 29 = 0 bit 28 = 1 --- pmeb can be asserted from d1 bit 27 = 1 --- pmeb can be asserted from d0 26 r d2_sp d2_support fixed at 0. the w89c840a do not support d2 power management state. 25 r d1_sp d1_support fixed at 1. the w89c840a support d1 power management state. 24:22 r --- re served. fixed at 0. 21 r dsi device specific initialization. fixed at 0. the w89c840a do not need a device specific initialization sequence. 20 r --- reserved. fixed at 0. 19 r pmeclk pme clock fixed at 0. the w89c840a do not rely on the presence of t he pci clock for pmeb operation. 18:16 r vers version. fixed at 001b. the w89c840a complies with revision 1.0 of the pci power management interface specification. 15:8 r nxtpr next item pointer. fixed at 00h. there are no additional items in the c a pabi lities list. 7:0 r cap_id capability identifier. fixed at 01h. this linked list item is the pci power management registers. fe0/fpmcsr power management control and status register (offset + e0h) value after hard - reset: 00000000h bit attribute bit n ame description 31:16 r --- fixed at 0.
W89C840AF publication release date: oct ober 200 0 - 42 - revision 1.01 15 r/w pme_sts pme status. this bit is set when the enabled wake - up frame detector receives a wake - up frame or the enabled magic packet detector receives a magic packet. when pme_sts and pme_en are set, the w89c840 a asserts pmeb. writing a 1 will clear pme_sts, rwupf3, rwupf2, rwupf1, rwupf0, and rmgp. writing a 0 has no effect. 14:9 r --- fixed at 0. 8 r/w pme_en pme enable. when pme_sts and pme_en are set, the w89c840a asserts pmeb. this bit is reset when w89c84 0a changes from d3 (hot) to d0 (un - initialized) 7:2 r --- reserved. fixed at 0. 1:0 r/w pw_sts power management state. 00b --- w89c840a at d0 power management state 01b --- w89c840a at d1 power management state 11b --- w89c840a at d3 (hot) power state wr iting 10b has no effect. the registers of W89C840AF the W89C840AF is implemented many registers, listed in the table below, to perform the function control and monitor the status of mac. the general attributes of the W89C840AF register is desc ribed as the following: 1) the W89C840AF register s are mapped into the host i/o or memory space. 2) the registers of the W89C840AF are long word - aligned. each register consists of 32 bits and may be accessed using any byte enable combinations with long wor d - aligned address. 3) the byte enabling and addressing must meet the specification for i/o access addressing rule when the register is in i/o space. 4) burst access to the W89C840AF register will be terminated after 1st data transfer completed with a disco nnect without data. 5) s/w reset will have the same effect as done by h/w reset on the W89C840AF register, except for the registers or bits c00<0>, c38, c3c, c40, c44, c48. 6) any read on the reserved register will be returned with 0 value. the following table outlined all the control/status registers inside this chip and its offset address, and summarized its function.
W89C840AF publication release date: oct ober 200 0 - 43 - revision 1.01 code abbr. meaning base offset from fbioa, fbma c00 cbcr bus control 00h c04 ctsdr transmit start demand 04h c08 crsdr receive start demand 08h c0c crdla receive descriptor list address 0ch c10 ctdla transmit descriptor list address 10h c14 cisr interrupt status 14h c18 cncr network configuration 18h c1c cimr interrupt mask 1ch c20 cfdcr frame discarded c ounter 20h c24 cmiir mii management and rom 24h c28 cbroa boot rom offset address 28h c2c cgtp general timer 2ch c30 crdar current receive descriptor address 30h c34 crbar current receive buffer address 34h c38 cma0 multicast address 0 38h c3c cma 1 multicast address 1 3ch c40 cpa0 physical address 0 40h c44 cpa1 physical address 1 44h c48 cbrcr boot rom size configuration 48h c4c ctdar current transmit descriptor address 4ch c50 ctbar current transmit buffer address 50h c54~cff reserved res erved reserved this table lists the initial state of each register in the W89C840AF after hardware reset and software reset sep a rately. code abbr. hardware reset software reset c00 cbcr 00000010h 00000010h c04 ctsdr 00000000h 00000000h c08 crsdr 0000 0000h 00000000h c0c crdla 00000000h 00000000h c10 ctdla 00000000h 00000000h c14 cisr 03800000h 03800000h c18 cncr 20000030h 20000030h
W89C840AF publication release date: oct ober 200 0 - 44 - revision 1.01 c1c cimr 00000000h 00000000h c20 cfdcr 00000000h 00000000h c24 cmiir 00000000h 00000000h c28 cbroa 00000000h 0000 0000h c2c cgtp 00000000h 00000000h c30 crdar 00000000h 00000000h c34 crbar 00000000h 00000000h c38 cma0 00000000h not affected c3c cma1 00000000h not affected c40 cpa0 00000000h not affected c44 cpa1 00000000h not affected c48 cbrcr 00000000h not affected c4c ctdar 00000000h 00000000h c50 ctbar 00000000h 00000000h the detail ed function and operation for each register in the W89C840AF will be described in the following paragraph. there are total 21 registers to be described in register code ord er in this paragraph. the full name of these registers are c00/cbcr bus control register, c04/ctsdr transmit start demand register, c08/crsdr receive start demand register, c0c/crdla receive descriptors list addresses, c10/ctdla transmit descriptors list a ddresses, c14/cisr interrupt status register, c18/cncr network configuration register, c1c/cimr interrupt mask register, c20/cfdcr frame discarded counter register, c24/cmiir mii management and rom register, c28/cbroa boot rom offset address register, c2 c/cgtr general timer register, c30/crdar current receive descriptor address register, c34/crbar current receive buffer address register, c38/cma0 multicast address register 0, c3c/cma1 multicast address register 1, c40/cpa0 physical address register 0, c44 /cpa1 physical address register 1, c48/cbrcr boot rom size configuration register, c4c/ctdar current transmit descriptor address register and c50/ctbar current transmit buffer address register. c00/cbcr bus control register: this register defines the con figuration of bus master, including the wait state control, the endian mode control of the descriptor, cache alignment control, burst length control, descriptor skip length and the internal bus access priority. in addition to the bus master control, the so ftware reset will be performed after programming a logic 1 to the software reset bit of c00/cbcr. before writing data to the c00/cbcr, the transmit and receive processes must be stopped. otherwise the current transmit or receive operation will not be compl eted correctly. the following table particularly describe s the function of each bit of the register c00/cbcr. bit attribute bit name description 31:22 r --- reserved. fixed at 0.
W89C840AF publication release date: oct ober 200 0 - 45 - revision 1.01 21 r/w wait wait state insertion when wait is set, the w89c840 af, as a bus master, executes memory read/write with one wait state every data phase. when wait is reset, the W89C840AF, as a bus master, executes memory read/write with zero wait state every data phase. 20 r/w dbe descriptor big endian mode when set, the descriptors will be handled in big endian mode; when reset, the descriptors will be treated in little endian mode 19:16 r --- reserved. fixed at 0. 15:14 r/w ca cache alignment ca defines the address boundary for the burst access to the transmission or receive data. when the starting address of the data burst access is not aligned, more specifically, the starting address should be a multiple of some number such as 4, 8 etc., the W89C840AF will have the first burst transfer that causes that the next burs t access will has the start address aligned. after the first burst occurred, all other burst operation are aligned with the configuration of ca accordingly. the ca must be initialized with a non zero value after reset. the alignment configuration is as fol lowing: [15:14] address alignment ----------------------------------------------------- [00] reserved [01] 8 long - word alignment [10] 16 long - word alignment [11] 32 long - word alignment
W89C840AF publication release date: oct ober 200 0 - 46 - revision 1.01 13:8 r/w bl b urst length bl defines the maximum number of the long words that can be transferred within one pci burst transaction. the burst length configuration is as following. [13:8] burst length --------------------------------------------- 00h refer to ca 01h 1 long word 02h 2 long word 04h 4 long word 08h 8 long word 10h 16 long word 20h 32 long word other reserved 7 r/w bbe buffer with big endian when set, the data buffers are treated with big endian ordering. when reset, the data buffers are treated with little endian ordering. 6:2 r/w skip skip length between descriptors this field specifies the skip length between two de scriptors (from the start address of the current descriptor to the start address of the next descriptor). the unit of the skip length is long word. the default value after hardware or software reset is 04h. 1 r/w arb arbitration between tx and rx processe s when set, the tx process and rx process will have the right to use the internal bus with the same priority. when reset, the rx process will have higher priority than tx process with regarding to the internal bus utilization. 0 r/w swr software reset. se t swr to high will reset most internal registers (except that c38, c3c, c40, c44, c48, and pci configuration registers). the software reset will be lasted for 4 pci clocks and the bit will self - clean after software reset completed. if any consequent access to the W89C840AF is coming during this reset process, the W89C840AF will delay asserting trdy# until the reset process is completed. this bit is default 0 after hardware reset. c04/ctsdr transmit start demand register the register c04/ctsdr is used t o request the W89C840AF to do a transmission process. bit attribute bit name description
W89C840AF publication release date: oct ober 200 0 - 47 - revision 1.01 31:0 w tsd transmit start demand a write to this register will trigger the W89C840AF transmit dma to fetch the descriptor for progressing the transmission operation when the W89C840AF transmit dma is staying at the suspend state. otherwise, the write operation will have no effect. the W89C840AF transmit dma will return to the suspend state if no descriptor is available. meanwhile, the bit 2 of c14/cisr will be asse rted to claim the transmit buffer unavailable if there is any descriptor available, W89C840AF will start to the transmit process. c08/crsdr receive start demand register the register c04/ctsdr is used to request the W89C840AF to do a receive proc ess. bit attribute bit name description 31:0 w rsd receive start demand a write to this register will trigger the W89C840AF receive dma to fetch the descriptor for progressing the receiving operation when the W89C840AF receive dma is staying at the suspend state. otherwise, the write operation will have no effect. the W89C840AF receive dma will return to the suspend state if no descriptor is available. meanwhile, the bit 7 of c14/cisr will be asserted to claim the receive buffer unavailable. if there is any descriptor available, W89C840AF will start to the receive process and waiting for the incoming frames. c0c/crdla re ceive descriptors list addresses the register c0c/crdla defines the start address of the receive descriptor list. it should be updated only when the receive dma state machine is staying at the stop state. bit attribute bit name description 31:2 r/w srl start of receive list. 1:0 r/w mbz must be written as 0 for long word alignment. c10/ctdla transmit descriptors list addresses
W89C840AF publication release date: oct ober 200 0 - 48 - revision 1.01 the register c10/ctdla defines the start address of the transmit descriptor list. it should be updated only when the trans mission dma state machine is staying at the stop state. bit attribute bit name description 31:2 r/w stl start of transmit list. 1:0 r/w mbz must be written as 0 for long word alignment.
W89C840AF publication release date: oct ober 200 0 - 49 - revision 1.01 c14/cisr interrupt status register most bits of the c14/cisr report the interrupt status. the assertion of the interrupt status, reported by bits 0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11 and 13, and the corresponding interrupt mask bits will cause a hardware interrupt to the host. a write with 1 value the status bit will clear them and write 0 will have no effect. bit attribute bit name description 31:26 r --- reserved. fixed at 0. 25:23 r bet bus error type. the field indicates the error type of bus error and is valid only when bit 13, bus error, is set. the assertio n of these bits does not generate interrupt. the definition of bus error is as follows. bet[25:23] error state --------------- ------------------ 000 parity error 001 master abort 010 targ et abort 011 reserved. 1xx reserved. the meanings of the error type is described as following. * parity error --- when W89C840AF operates as a bus master, it can detect a data parity error during a read transaction or sa mple perrb asserted on a write transaction if parity error response bit (f04[6]) is set. * master abort --- when W89C840AF operates as a bus master, W89C840AF terminates the read or write transaction with master abort. * target abort --- when W89C840AF o perates as a bus master, the read or write transaction is terminated with target abort. the initial state of this field after reset is zero. 22:20 r tps transmit process state. this field indicates the transmit state. this field does not generate interrup t. 19:17 r rps receive process state. this field indicates the receive state. this field does not generate interrupt.
W89C840AF publication release date: oct ober 200 0 - 50 - revision 1.01 16 r nir normal interrupt report. the normal interrupt report includes transmit completed interrupt, transmit buffer unavailable interr upt and the receive completed interrupt. the nir is a logical or result of the bits 0, 2, 6 of the register c14/cisr. only the bits corresponding to the unmasked bits of c1c/cimr will affect this bit. 15 r air abnormal interrupt report. the abnormal inte rrupt includes transmit process in idle state interrupt, receive early interrupt, receive error interrupt, transmit fifo under - flow interrupt, receive buffer unavailable interrupt, receive idle state interrupt, transmit early interrupt, timer expire interr upt and the bus error interrupt. the air is a logical or result of the bits 1, 3, 4, 5, 7, 8, 10, 11, 13 of the register c14/cisr. only these bits corresponding to the unmasked bits of the c1c/cimr will affect this bit. 14 r --- reserved. fixed at 0. 13 r/w be bus error. a high indicates a bus error happened. the error type will be shown by bit 25~23. 12 r --- reserved. fixed at 0. 11 r/w te timer expired. a high indicates the general timer (c2c/cgtr) expired. 10 r/w tei transmit early interrupt the W89C840AF will has transmit early interrupt status set after the packet to be transmitted is completely transferred into the transmit fifo if transmit early interrupt on bit of c18/cncr is set. the tei will be cleared automatically after the packet is tran smitted out from the transmit fifo completely. 9 r --- reserved. fixed at 0. 8 r/w ridle receive in idle state. set means the receive dma state machine is in the idle state.
W89C840AF publication release date: oct ober 200 0 - 51 - revision 1.01 7 r/w rbu receive buffer unavailable. when there is no receive buffer availabl e, this bit is set and the receive process enters the suspend state. when W89C840AF is first initialized, this bit will not be set even if there is no buffer available. it will be set only when there has been any available buffer and no available buffer af terwards. the rbu will not accumulate the number of the receive buffer unavailable event, i.e. the write an 1 value to rbu will clear the rbu no matter how many times the receive buffer unavailable has been occurred before the rbu is cleared. 6 r/w rini receive interrupt a high indicates that a frame has been received and the receive status is transferred into the receive descriptors of the current frame. 5 r/w iuf transmit fifo under - flow a high indicates that the transmit fifo had an under - flow error during the packet transmission. after the fifo under - flow occurred, the transmit dma will not continue to fetc h the un - transmitted data of the current frame but fetch the descriptor of the current frame for looking for the last descriptor of the current frame. the W89C840AF transmit dma state machine will write the transmit status to the last descriptor of the current frame with a 1 value for the bit 1 of transmit descriptor 0 (t00[1]). the W89C840AF will continue to transmit next packet when the current frame transmit st atus is updated.. 4 r/w rerr receive error. a high indicates that the receive dma detects a receive error during the packet reception. the receive dma will set this bit when some prior received data of the current incoming packet have been moved into th e data buffer in the host memory and some kind of error occurred when receiving the posterior data of the current incoming packet from the mii bus. the intab will be asserted when a receive error is detected and the receive error interrupt enable is unmas ked and the error packet will be aborted. 3 r/w rei receive early interrupt the rei will be set when the number of the data of the incoming frame, in long word unit, transferred to the data buffer reaches receive early interrupt threshold specified by t he register c18/cncr if receive early interrupt on in the register c18/cncr is set. this bit will be cleared automatically after receive interrupt (rini) or receive error (rerr) is set..
W89C840AF publication release date: oct ober 200 0 - 52 - revision 1.01 2 r/w tbu transmit buffer unavailable a high indicates that there i s no available transmit descriptor during or after the packet transmission. the transmit process will stay in suspend state. the tbu will not accumulate the number of transmit buffer unavailable event, i.e. write an 1 value to tbu will clear the tbu, no m atter how many times the transmit buffer unavailable has been occurred before the tbu is cleared. 1 r/w tidle transmit process in idle state. a high indicates the transmit state machine is in the idle state. 0 r/w tini transmit interrupt the tini will b e set when a frame transmit is completed and the fint (bit 31) of transmit descriptor 1 (t01) is set. c18/cncr network configuration register the register c18/cncr defines the configuration for the data transmission or receiving and the interrupt algor ithm for interrupt assertion. bit attribute bit name description 31 r/w reio receive early interrupt on the receive early interrupt function will be enabled when the reio is set to high. otherwise, the receive early interrupt function will be disabled. d uring receiving packet data, the W89C840AF will assert an interrupt request when the bytes number of the received data, which the receive dma has moved them into the data buffer in the system memory , excesses the receive early interrupt threshold. 30 r/w teio transmit early interrupt on the transmit early interrupt function will be enabled when the teio is set to high. otherwise, the transmit early interrupt function will be disabled. the W89C840AF will assert an early transmit interrupt when all the curr ent packet data have been moved into the 2 kbytes transmit fifo no matter the data have been put onto the mii interface completely or not. 29 r/w fes fast ethernet select when set, W89C840AF will run in 100 mbps mode. when reset, W89C840AF run in 10 mbps mode. to change this bit, the transmit state machine must be in idle state. the sqe test function will be enabled when fes is reset to low.
W89C840AF publication release date: oct ober 200 0 - 53 - revision 1.01 28:21 r/w reit receive early interrupt threshold during receiving packet, the W89C840AF will assert an interrupt r equest when the bytes number of the received data, which the receive dma has moved them into the data buffer, excesses the receive early interrupt threshold. to set this field 00h will disable receive early interrupt function. the setting of the receive e arly interrupt is as following. reit[28:21] receive early interrupt threshold ---------------- ----------------- 01h 4 bytes 02h 8 bytes -- -- 0fh 60 bytes 10h 64 bytes -- -- ffh 020 bytes 20:14 r/w tth transmit threshold. these bits select the transmit threshold level of the transmit fifo. the packet transmission will be started immediately once the data queued into the transmit fifo ha s reached the threshold level. the transmission will also be started immediately when the full packet has been transferred into the transmit fifo even though the frame length is less than the tth level. to change this bit, the transmit state machine must b e in idle state. the following table shows there is a difference with 16 bytes for each consecutive setting value in this field, except that the first one in the table. tth[20:14] --------------- ----------------- 00h full packe t 01h 16 bytes 02h 32 bytes -- -- 0fh 240 bytes 10h 256 bytes -- -- 7fh 2032 byte s
W89C840AF publication release date: oct ober 200 0 - 54 - revision 1.01 13 r/w txon transmit on. when set, the transmission process will be started (leave the idle state, at first, and fetch the transmission descriptor according to the configuration of c10/ctdla ). when reset, the transmission state machi ne will be stopped after the current frame is completed (transmitted successfully or transmission abort with excessive collision). the register c10/ctdla must be programmed before setting txon high. 12 r --- reserved. fixed at 0. 11:10 r/w lbk loopback m ode. the lbk selects the W89C840AF loop - back modes: lbk[11:10] loop - back mode --------------- ----------------------- 00 normal mode 01 internal loop - back 10 external loop - back 9 r/w fd fu ll duplex mode. when set, the W89C840AF will perform the full duplex function. when reset, the W89C840AF works in half duplex mode. in full duplex mode, the W89C840AF can transmit and receive packets at the same time. in half duplex mode, the W89C840AF can only exclusively either transmit or receive. the W89C840AF is not allowed to be programmed in internal loop - back mode when it is in full duplex mode. to change this mode setting, be sure W89C840AF is completely idle and the receive on bit (rxon) and the t ransmit on bit (txon) are both reset. 8 r --- reserved. fixed at 0. 7 r/w aep accept error packet. when set, all incoming packets passed address filtering will be accepted, including runt packets, crc error packets, and dribbling bit error packets. when reset, only the valid incoming packets will be accepted. default 0. 6 r/w arp accept runt packet. when set, the incoming packets pass the address filtering with the length less than 64 bytes are accepted. when reset, the incoming packets pass the address filtering with the length less than 64 bytes are rejected. default 0.
W89C840AF publication release date: oct ober 200 0 - 55 - revision 1.01 5 r/w abp accept broadcast packet. when set, all incoming packets with a broadcast address will be accepted. when reset, the incoming packets with a broadcast address will be rejected. default 1. 4 r/w amp accept multicast packet. when set, all incoming packets with a multicast address match the node multicast address table (mar7 ~ mar0) will be accepted. when reset, all incoming packets with a multicast address (excluding broadcast add ress) will be rejected. default 1. 3 r/w app accept all physical packet. when set, all incoming packets with unicast address will be accepted. when reset, only the incoming packets with destination address matching the physical address of the node will be accepted. default 0. 2 r --- reserved. fixed at 0. 1 r/w rxon receive on. when set, the receive process will be started (leave the idle state, at first, and fetch the receive descriptor according to the configuration of the register c0c/crdla ). when r eset, the receive state machine will be stopped after the current frame is completed. the c0c/crdla, c40/par0, c44/par1, c38/mar0 and c3c/mar1 registers must be programmed before setting the rxon high. 0 r --- reserved. fixed at 0. c1c/cimr interrupt mask register the register c1c/cimr controls the interrupt enable corresponding to the bits in the register c14/cisr. bit attribute bit name description 31:17 r --- reserved. fixed at 0. 16 r/w nie normal interrupt enable. the normal interrupt will be enabled if the nie is set to high. the normal interrupt is disabled when the nie is reset to low. the hardware interrupt will be asserted if both the nie bit of the c1c/cimr and the nir bit of the c14/cisr nir are set to high. 15 r/w aie abnormal interr upt enable. the abnormal interrupt will be enabled if the aie is set to high. the abnormal interrupt is disabled when the aie is reset to low. the hardware interrupt will be asserted if both the aie bit of the c1c/cimr and the air bit of the c14/cisr air are set to high. 14 r --- reserved. fixed at 0.
W89C840AF publication release date: oct ober 200 0 - 56 - revision 1.01 13 r/w bee bus error enable. the bus error interrupt will be enabled if both aie(bit 15) and bee are set to high, otherwise, the bus error interrupt will be disabled. the hardware interrupt will be asserte d if all of the aie bit of the c1c/cimr, the bee bit of the c1c/cimr and the be bit of the c14/cisr are set to high at the same time. 12 r --- reserved. fixed at 0. 11 r/w tee timer expired enable. the timer expired interrupt will be enabled if both ai e(bit 15) and tee are set to high, otherwise, the timer expired interrupt will be disabled. the hardware interrupt will be asserted if all of the bit aie in c1c/cimr, the bit tee in c1c/cimr and the bit te c14/cisr are set to high at the same time. 10 r/w teie transmit early interrupt enable. the transmit early interrupt will be enabled if both aie(bit 15) and teie are set to high, otherwise, the transmit early interrupt will be disabled. the hardware interrupt will be asserted if all of the bit aie in c1c /cimr, the bit teie in c1c/cimr and the bit tei in c14/cisr are set to high at the same time. 9 r --- reserved. fixed at 0. 8 r/w rie receive idle enable. the receive idle interrupt will be enabled if both aie(bit 15) and rie are set to high, otherwise, the receive idle interrupt will be disabled. the hardware interrupt will be asserted if all of the bit aie in c1c/cimr, the bit rie in c1c/cimr and the bit ridle in c14/cisr are set to high. 7 r/w rbue receive buffer unavailable enable. the receive buffer unavailable interrupt will be enabled if both aie(bit 15) and rbue are set to high, otherwise, the receive buffer unavailable interrupt will be disabled. the hardware interrupt will be asserted if all of the bit aie in c1c/cimr,the bit rbue in c1c/cimr a nd the bit rbu in c14/cisr are set to high. 6 r/w rinte receive interrupt enable. the receive interrupt will be enabled if both nie(bit 16) and rinte are set to high, otherwise, the receive interrupt will be disabled. the hardware interrupt will be assert ed if all of the bit nie in c1c/cimr, the bit rinte in c1c/cimr and the bit rini in c14/cisr are set to high. 5 r/w tfue transmit fifo underflow enable. the transmit fifo underflow interrupt will be enabled if both aie(bit 15) and tfue are set to high, ot herwise, the transmit fifo underflow interrupt will be disabled. the hardware interrupt will be asserted if all of the bit aie in c1c/cimr, the bit tfue in c1c/cimr and the bit iuf in c14/cisr are set to high.
W89C840AF publication release date: oct ober 200 0 - 57 - revision 1.01 4 r/w rerre receive error enable. the receiv e error interrupt will be enabled if both aie(bit 15) and rerre are set to high, otherwise, the receive error interrupt will be disabled. the hardware interrupt will be asserted if all of the bit aie in c1c/cimr, the bit rerre in c1c/cimr and the bit rerr in c14/cisr are set to high. 3 r/w reie receive early interrupt enable. the receive early interrupt will be enabled if both aie(bit 15) and reie are set to high, otherwise, the receive early interrupt will be disabled. the hardware interrupt will be asse rted if all of the bit aie in c1c/cimr, the bit reie in c1c/cimr and the bit rei in c14/cisr are set to high. 2 r/w tbue transmit buffer unavailable enable. the transmit buffer unavailable interrupt will be enabled if both nie(bit 16) and tbue are set to high, otherwise, the transmit buffer unavailable interrupt will be disabled. the hardware interrupt will be asserted if all of the bitsnie and tbue in c1c/cimr and the bit tbu in c14/cisr are set to high. 1 r/w tie transmit idle enable. the transmit idle interrupt will be enabled if both aie(bit 15) and tie are set to high, otherwise, the transmit idle interrupt will be disabled. the hardware interrupt will be asserted if all of the c1c/cimr aie, c1c/cimr tie and c14/cisr tidle are set to high. 0 r/w tin te transmit interrupt enable. the transmit interrupt will be enabled if both nie(bit 16) and tinte are set to high, otherwise, the transmit interrupt will be disabled. the hardware interrupt will be asserted if all of the bits nie and tinte in c1c/cimr an d the bit tini in c14/cisr are set to high. c20/cfdcr frame discarded counter register the register c20/cfdcr records the missed packet count and the fifo overflow count. bit attribute bit name description 31 r mrfo more receive fifo overflow this b it is the overflow bit of the receive fifo overflow counter. the actual number of the fifo overflow must be more than the number shown by the bits field rfoc if the mrfo is set to high. this bit will be reset after a read operation
W89C840AF publication release date: oct ober 200 0 - 58 - revision 1.01 30:17 r rfoc receive fi fo overflow counter the rfoc indicates the number of the packets that are discarded due to the receive fifo overflow under the condition of the receive buffer is not available. this counter will be reset after being read by the driver program. 16 r mmp m ore missed packets overflow bit of missed packet counter. the actual number of the missed packet must be more than the number shown by the bits field mpc if mmp is set tot high. this bit will be reset after read by a read operation. 15:0 r mpc missed pack et counter the mpc indicates the number of packets that are discarded due to the receive fifo overflow which is caused by that the receive dma can not get sufficient utilizing on pci bus, in which, the receive data buffer is available for the current frame . although there is a receive data buffer available for the current frame, the received data of the current frame in the fifo can not be completely moved into the data buffer in host memory before the receive fifo is overflow if the receive dma can not get sufficient utilizing on pci bus. this counter will be reset after a read operation. c24/cmiir mii management and rom register the register c24/cmiir is used to specify the control function and the data message passing for the on board eeprom and boot rom device access. the followed table described the mii management frame format: mii management protocol pre st op phyad regad ta data idle read 1...1 01 10 aaaaa rrrrr z0 16 bits z write 1...1 01 01 aaaaa rrrrr 10 16 bi ts z pre:preample, st:start of frame, op:operation code, phyad:phy address, regad:register address ta:turnaround. the detailed timings for the read and the write operation, respectively, of the mii management function are illustrated as the figure below . each bits in the management data frame(mdio) are synchronized at the rising edge of the mii management clock(mdc)
W89C840AF publication release date: oct ober 200 0 - 59 - revision 1.01 typical mdio/mdc read cycle high impedance(z) z .... idle start read phyad regad ta data idle 1 0 z 0 mdc mdio .... preamble 0 1 typical mdio/mdc write cycle z .... idle start write phyad regad ta data idle 1 0 mdc mdio .... preamble 0 1 0 1 bit attribute bit name description 31:20 r --- reserved. fixed at 0. 19 r mdi mii management port dat a input the mii management input data drove, by the external phy , on the mimdio pin can be read from this bit when the mdsel is reset. the mdi reflects the logic level on the mimdio pin instantly, no latching device is used for keeping the logic level me ssage. 18 r/w mdsel mii management port read/write select the mimdio pin will be programmed as an input pin when the mdsel is reset. on the other hand, the mimdio will be an output pin if mdsel is set to high. 17 r/w mdo mii management port write data t he state of the mdo will be directly output through the mimdio pin when the mimdio is performing an output pin . the serial command of the external physical device should be written into mdo serially with one bit data one mii management clock. the accessed data sequence and timing are shown as the diagram above . 16 r/w mdc mii management port clock. the state of the mdc will be directly driven on the mimdc pin for providing the mii management clock. to generate this clock source, the mdc should be program med as 1 and 0 with equal duty cycle and timing width alternately. the ac timing specification with respect to the mimdc and mimdio should follow the media independent interface(mii) specification defined in ieee 802.3u. 15 r --- reserved. fixed at 0.
W89C840AF publication release date: oct ober 200 0 - 60 - revision 1.01 14 r/w rdctl bootrom read control. when eesel(bit 11 in this register) is reset, setting this bit will perform the on - board boot rom read operation with the reading address specified by the register c28/cbroa. the one byte data read from the on - board boot r om will be latched into the bits field eebrd[7:0] of this register. the bit rdctl will be cleared automatically after bootrom read operation is completed. the rdctl will not allow to be set high, even writing a logic 1 to rdctl if the bit eesel(bit 11 in t his register) is set. 13 r/w wrctl bootrom write control. when the bit eesel (bit 11) is reset, setting this bit will trigger the W89C840AF to perform the on - board boot rom write operation with the writing address specified by the register c28/cbroa. t he one byte write data should be latched by the eebrd[7:0] before setting the wrctl high. this bit will be cleared automatically if bootrom write operation is completed. the wrctl will not allow to be set high, even writing a logic 1 to wrctl if the bit ee sel(bit 11 in this register) is set. 12 r --- reserved. fixed at 0. 11 r/w eesel eeprom/bootrom select the on board boot rom read/write function through cmiir will be enabled if the eesel is reset. otherwise, on board boot rom access function will be dis abled and the cmiir will be used to access the on board eeprom device if the eesel is set to high. 10:8 r --- reserved. fixed at 0. 7:4 r/w eebrd [7:4] eeprom/boot rom data 4 to 7: the eebrd[7:4] are used to store the read/write data for the on board bo ot rom access when eesel is reset to low. the data of eebrd[7:4] is of no meaning if the eesel is set to high.
W89C840AF publication release date: oct ober 200 0 - 61 - revision 1.01 3:0 r/w eebrd [33:0] eeprom/boot rom data 0 to 3: the eebrd[3:0] are used to store the read/write data for the on - board boot rom access when ee sel is reset to low. when eesel is set to high, 1) the eebrd[3] reflects the input data from the btadata3/eedo pin(connected to eeprom data output) instantly. 2) the eebrd[2] stores the output data which will be drove onto the btadata2/eedi pin(connect ed to eeprom data input) directly. 3) the eebrd[1] stores the output data which will be drove onto the btadata1/eeck pin (eeprom serial clock input) directly. 4) the eebrd[0] stores the output data which will be drove onto the eecs pin(connected to eeprom chip select) directly. for accessing the external eeprom device, the chip select signal, the serial clock and the data input should follow the ac specification defined by the external eeprom device. c28/cbroa boot rom offset address register the regist er c28/cbroa is used to specify the read or write address of the external boot rom when accessing the boot rom through the register c24/cmiir of the W89C840AF . bit attribute bit name description 31:18 r --- reserved. fixed at 0. 17:0 r/w broa boot rom o ffset address. this field contains boot rom offset address. c2c/cgtr general timer register the c2c/cgtr shows the real time content of the W89C840AF internal general timer bit attribute bit name description 31:17 r --- reserved. fixed at 0. 16 r/w recur recursive mode: the state of the bit 0 to bit 15 in the register c2c/cgtr will be set to the states programmed by the driver program at the last time when the time timer count reaching zero if the recur is set to high. default 0.
W89C840AF publication release date: oct ober 200 0 - 62 - revision 1.01 15:0 r/w time gener al timer: the bits field time shows the content of the general timer inside the W89C840AF . the internal general timer will count down from the pre - set value, a non zero value, programmed by the driver program automatically once the write transaction to th e register c20/cgtr is completed. the time unit for the internal general timer count down is approximately 2048 times the cycle duration of the mii txclk. for instance, the count down time unit for a 25 mhz mii txclk is approximately 82 us. the c14/cisr b it 11 will be set when time of c2c/cgtr reach zero. the time is default 0000h. c30/crdar current receive descriptor address register the register c30/crdar shows that the start address of the receive descriptor which is used by the W89C840AF receive dma state machine to process the current receive frame. bit attribute bit name description 31:0 r crda current receive descriptor address. the crda represents the start address of the current receive descriptor which the W89C840AF receive dma state machine is used to process the received frame. c34/crbar current receive buffer address register the register c34/crbar shows that the start address of the host memory which will be used by the W89C840AF receive dma state machine to store the current aligned long word data of the current received frame. bit attribute bit name description 31:0 r crba current receive buffer address. the crba contains the pointer current address in the on - using buffer of the host memory which will be used by the W89C840AF receiv e dma state machine to store the current aligned long word data of the current received frame. c38/cma0 multicast address register 0 the c38/cma0 defines the lower 32 bits of the total 64 bits multicast address hashing table. bit attribute bit name des cription 31:24 r/w mar3 muticast address 3. the mar3 defines the bit 24~31 of the hashing table. 23:16 r/w mar2 muticast address 2. the mar2 defines the bit 16~23 of the hashing table.
W89C840AF publication release date: oct ober 200 0 - 63 - revision 1.01 15:8 r/w mar1 muticast address 1. the mar1 defines the bit 8~15 of the hashing table. 7:0 r/w mar0 muticast address 0. the mar0 defines the bit 0~7 of the hashing table. c3c/cma1 multicast address register 1 the c3c/cma1 defines the upper 32 bits of the 64 bits multicast address hashing table. bit attribute bit name d escription 31:24 r/w mar7 muticast address 7. the mar7 defines the bit 56~63 of the hashing table. 23:16 r/w mar6 muticast address 6. the mar2 defines the bit 48~55 of the hashing table. 15:8 r/w mar5 muticast address 5. the mar1 defines the bit 40~47 of the hashing table. 7:0 r/w mar4 muticast address 4. the mar4 defines the bit 32~39 of the hashing table. c40/cpa0 physical address register 0 the c40/cpa0 defines the first 32 bits of the 48 bits mac address. the cpa0 value is loaded from eeprom aft er hardware reset bit attribute bit name description 31:24 r/w par3 physical address 3. the par3 defines the bit 24~31 of the mac address. 23:16 r/w par2 physical address 2. the par2 defines the bit 16~23 of the mac address. 15:8 r/w par1 physical addr ess 1. the par1 defines the bit 8~15 of the mac address. 7:0 r/w par0 physical address 0. the par0 defines the bit 0~7 of the mac address. c44/cpa1 physical address register 1
W89C840AF publication release date: oct ober 200 0 - 64 - revision 1.01 the c44/cpa1 defines the last 16 bits of the 48 bits mac address. the cpa 1 value is loaded from eeprom after hardware reset bit attribute bit name description 31:16 r --- reserved. fixed at 0. 15:8 r/w par5 physical address 5. the par5 defines the 40~47 bit of the 48 bit of the mac address. 7:0 r/w par4 physical address 4. t he par0 defines the 32~39 bit of the 48 bit of the mac address. c48/cbrcr boot rom size configuration register this register is used to configure the size of the boot rom. the bit 0 to bit 2 of the register c48/cbrcr are loaded form the external eeprom after the deasserted of the hardware reset. the configuration of the bps[2:0] will affect the return value from the register f30/ferba to determine how large the expansion memory space the on - board boot rom needs when it is read by the power - on software. bit attribute bit name description 31:3 r --- reserved. fixed at 0. 2:0 r/w bps[2:0] boot rom size select. the size of the on board boot rom device is selected by bps[2:0] as follows. bps2 bps1 bps0 size ------------------------- ---------------------- 0 0 x no boot rom 0 1 0 8k 0 1 1 16k 1 0 0 32k 1 0 1 64k 1 1 0 128k 1 1 1 256k
W89C840AF publication release date: oct ober 200 0 - 65 - revision 1.01 c4c/ctdar current transmit descriptor address register the c4c/ctdar shows that the start address of the descriptor which the W89C840AF transmit dma state machine is used to process the current frame. bi t attribute bit name description 31:0 r ctda current transmit descriptor address. the ctda represents the start address of the current receive descriptor which the W89C840AF transmit dma state machine is used to process the transmit frame. c50/ctbar cu rrent transmit buffer address register the c50/ctbar shows that the address of the system memory from which the W89C840AF transmit dma state machine will fetch the long word data and queue the data into the fifo for transmission. bit attribute bit name d escription 31:0 r ctba current receive buffer address. the ctba contains the start address of the host memory from which the W89C840AF transmit dma state machine will fetch the long word data and queue it into the fifo for transmission. descriptors as described at the beginning of the function description, descriptors are used to handle the control and status information and the data of each received/transmitted frame. there are many information contained in descriptors, W89C840AF totally implemented four registers for receiving descriptor and four registers for transmiting descriptor respectively. they are one for status descriptor, one for control descriptor, and two for buffer descriptors. receive descriptors r00, receive descriptor 0 the descrip tor r00 is used to describe the received frame status. after the current frame is received completely, the receive dma state machine will update the valid status of the current received frame into the first and the last descriptor of the current received frame. the receive access control(rac) bit is valid on each descriptor of the current frame. the receive dma state machine will reset the rac bit to release the descriptor for other receive operation when the data buffer pointed by this descriptor is full . bit symbol description
W89C840AF publication release date: oct ober 200 0 - 66 - revision 1.01 31 rac receive access control the W89C840AF receive dma is allowed to access this descriptor if rac is set to high by the driver program. otherwise, the driver program will access this descriptor if the rac is reset to low, i .e. the descriptor 0 allows to be accessed by software driver when set rac;by hardware when reset rac. the rac is valid on each descriptor of the current received frame. 30 rcmp receive completion. the receive dma will set the rcmp of the first and the l ast descriptor of the current receive frame after the current frame is received and then transferred into the data buffer in host memory completely. this bit is valid only when either rfd (r00[9]) or rld (r00[8]) is set, i.e. the first or the last descrip tor of the current frame. 29:16 rbc receive byte count: the rbc indicates the length including crc field of receive packet in byte unit. this bit is valid only when rfd (r00[9]) or rld (r00[8]) is set, i.e. the first or the last descriptor of the current frame. 15 re receive error: when re is set to high, it indicates any one of the following events occurred: r00[1] -- crc error r00[6] -- late event r00[7] -- packet too long r00[11] -- runt packet this bit is valid only when rfd (r00[9]) or rld (r00[8]) i s set, i.e. the first or the last descriptor of the current frame. 13:12 rdt receive data type the rdt indicates the types of the packet received in the fifo buffer. the receive dma make a copy of the bits c18/cncr[11:10] and write them to the bit field r dt when the current frame is received completely. the types of received packet is as following: 00 -- normal receive packet 01 -- internal loopback packet 10 -- external loopback 11 -- reserved this bit is valid only when rfd (r00[9]) or rld (r00[8]) is set, i.e. the first or the last descriptor of the current frame. 11 rp runt packet : when set, it indicates that the received packet length is less than 64 bytes. this bit is valid only when rfd (r00[9]) or rld (r00[8]) is set, i.e. the first or the last descriptor of the current frame.
W89C840AF publication release date: oct ober 200 0 - 67 - revision 1.01 10 mp multicast packet : when set, it indicates that the received packet has a multicast address. this bit is valid only when rfd (r00[9]) or rld (r00[8]) is set. 9 rfd first descriptor. when set, it indicates that this descriptor is the first descriptor of the current packet. the rfd is valid on each descriptor of the current receive frame. 8 rld last descriptor. when set, it indicates that this descriptor is the last descriptor of the current packet. the rld is valid on each descriptor of the current receive frame. when both rfd and rld are high, it means that the current receive frame is described by a single descriptor. when both rfd and rld are low, it means that the current descriptor is neither the first nor the last descriptor of the current frame. when rfd is high and rld is low, it means that the current descriptor is the first descriptor of the current frame. when rfd is low and rld is high, it means that the current descriptor is the last descriptor of the t he current frame. 7 ptl packet too long: when set, it indicates that the received packet length exceeds 2048 bytes. this bit is valid only when rfd (r00[9]) or rld (r00[8]) is set, i.e. the first or the last descriptor of the current frame. 6 le late eve nt: when set, it indicates that the mac detected a receive collision event occurred at the time after the 64 bytes following start frame delimiter (sfd) when the mac is receiving the packet. this bit is valid only when rfd (r00[9]) or rld (r00[8]) is set, i.e. the first or the last descriptor of the current frame. 3 mre mii receive error: when set, it indicates that the a receive error in the physical layer was reported during the frame reception. this bit is valid only when rfd (r00[9]) or rld (r00[8]) i s set, i.e. the first or the last descriptor of the current frame. 2 db dribbling bit : when set, it indicates that the receive packet contains an extra bits, not aligned with the 8 bits boundary. the received packet will be treated as a good packet even the db bit is set if the crc error (r00[1]) is reset, i.e. no crc error. this bit is not valid if a late collision (r00[6]) or runt packet (r00[11]) is set. this bit is valid only when rfd (r00[9]) or rld (r00[8]) is set, i.e. the first or the last descri ptor of the current frame.
W89C840AF publication release date: oct ober 200 0 - 68 - revision 1.01 1 crce crc error: when set, it indicates that a cyclic redundancy check (crc) error is occurred on the received packet. if there is a mii receive error is detected during the packet receiving, the crc error bit is also set even though the crc may be correct. this bit is valid only when rfd (r00[9]) or rld (r00[8]) is set, i.e. the first or the last descriptor of the current frame. r01, transmit descriptor 1 the r01 is used to describe the receive control configuration for the current frame receiving. the receive dma state machine will fetch the first descriptor of the current frame , at first, to decide the receive control configuration for the current receive frame. the receive dma state machine will also fetch each descriptor information before storing the received data to the data buffer in the host memory described by the current descritpor. bit symbol description 25 rlast last descriptor of the ring. when set, it indicates the current descriptor is the last receive descr iptor ring. this bit preempts the bit 24 (rlink)of this descriptor. it means that the next descriptor pointer of the receive dma state machine will automatically jump to the first descriptor pointed by the content of the register c0c/ctdla, even the rlink bit is set to high and the descriptor r03 points to an address other than the one specified by the register c0c/crdla. the rlast is valid on each descriptor. 24 rlink link address in receive buffer address 2 when set, it indicates that receive buffer addr ess 2 in the descriptor r03 contains the start address of the next descriptor of the descriptor list. otherwise the descriptor r03 will point to the start address of the receive buffer 2 when the rlink is reset. the rlink is valid on each descriptor. 23 :12 rsz2 receive buffer size 2. the rsz2 indicates the size, in bytes, of the second data buffer pointed by the current descriptor. if this field is 0, the W89C840AF ignores this buffer. the buffer size must be long word aligned. the maximum size for this buffer is 4093 bytes. 11:0 rsz1 receive buffer size 1. the rsz1 indicates the size, in bytes, of the first data buffer pointed by the current descriptor. if this field is 0, the W89C840AF will ignore this buffer. the buffer size must be longword aligned. the maximum size of this buffer is 4093 bytes. r02, receive descriptor 2 the r02 is used to specify the receive buffer 1 start address bit symbol description
W89C840AF publication release date: oct ober 200 0 - 69 - revision 1.01 31:0 rba1 receive buffer address 1 the rba1 indicates the physical address, in the host memory space, of the first receive buffer pointed by the current descriptor. the rba1 must be longword aligned. it is valid on each descriptor of the current frame. r03, receive descriptor 3 the r03 is used to specify the start address of the receive buffer 2 bit symbol description 31:0 rba2 receive buffer address 2 the rba2 indicates the physical address, in the system memory space, of the second transmit buffer pointed by the current descriptor. the rba2 must be must be longword aligned. it is val id on each descriptor of the current frame. transmit descriptors t00, transmit descriptor 0 the t00 is used to describe the transmited frame status. after the current frame is transmitted, the transmit dma state machine will update the valid status o f the current transmitted frame into the last descriptor of the current transmitted frame. the transmit access control is valid on each descriptor of the current frame. the transmit dma state machine will release the descriptor by reset the tac bit when t he data pointed by this descriptor is transmitted. bit symbol description 31 tac transmit access control : when the tac bit is set, the current descriptor allows to be accessed by W89C840AF, otherwise the W89C840AF can not issue any read or write reques t on this descriptor. when the tac is reset to low, the driver program is allowed to access this descriptor. this bit will be reset before completing to fill data into the transmit buffer; set if the data in the transmit buffer is available. it is a valid value on each descriptor of the current frame. 15 te transmit error: it indicates any one of the following events occurs when te is set to high. t00[1] -- transmit fifo underflow t00[8] -- transmit aborted t00[10] -- no carrier sense t00[11] -- carrier sense lost this bit is valid only when the bit tld (t01[30]) is set, i.e when the current descriptor is the last descriptor of the current frame.
W89C840AF publication release date: oct ober 200 0 - 70 - revision 1.01 11 csl carrier sense lost: when set, it indicates that there is a carrier sense lost during transmission. thi s bit is valid only when tld (t01[30]) is set, i.e when the current descriptor is the last descriptor of the current frame. this bit is not valid in internal loopback mode. 10 ncs no carrier sense: when set, it indicates that no carrier sense is present ed during transmitting. this bit is valid only when tld (t01[30]) is set, i.e when the current descriptor is the last descriptor of the current frame. this bit is not valid in internal loopback mode. 9 lc late collision: when set, it indicates that coll ision occurs after the 64 bytes collision window. this bit is not valid if transmit fifo underflow bit(t00[1]) is set. this bit is valid only when tld (t01[30]) is set, i.e when the current descriptor is the last descriptor of the current frame. 8 ta tra nsmit aborted: when set, it indicates that the transmission was aborted after 16 successive collisions during the transmission. this bit is valid only when tld (t01[30]) is set, i.e when the current descriptor is the last descriptor of the current frame. 7 sqe signal quality error status: when set, it indicates that W89C840AF has detected a signal quality error signal in a range of time after the frame was transmitted if the w879c840 is set in 10 mbps mode. this bit is not valid if transmit fifo underflow bit (t00[1]) is set. this bit is valid only when tld (t01[30]) is set, i.e when the current descriptor is the last descriptor of the current frame. 6:3 cc collision count: the number of collisions occurred before the frame is transmitted. this bit is vali d only when tld (t01[30]) is set, i.e when the current descriptor is the last descriptor of the current frame. 1 tfu transmit fifo underflow. this bit is set when the transmission process lacks data to transmit during frame transmission. the transmit dma state machine will enter in suspend state. this bit is valid only when tld (t01[30]) is set, i.e. when the current descriptor is the last descriptor of the current frame. 0 def deferred: when set, it indicates that the W89C840AF had to defer when ready to transmit a frame because the carrier sense input was asserted before the W89C840AF gets the grant to acquire the network media. this bit is valid only when tld (t01[30]) is set, i.e. when the current descriptor is the last descriptor of the current frame. t01, transmit descriptor 1 the t01 is used to describe the transmit control for the current frame transmission
W89C840AF publication release date: oct ober 200 0 - 71 - revision 1.01 the transmit dma state machine will fetch the first descriptor of the current frame , at first, to decide the transmission control configurat ion for the current frame. the transmit dma state machine will also fetch each descriptor before read the transmitted data from the data buffer in the host memory. bit symbol description 31 fint frame interupt. the W89C840AF will set the transmit interr upt bit(bit 0 of c14/cisr) after the current frame was transmitted if the fint is previously set by the driver program. this bit is valid only when the current descriptor is the first descriptor of the current frame (tfd set). 30 tld last descriptor. when set, it indicates that this is the last descriptor of the current frame. the tld is valid on each descriptor. 29 tfd first descriptor. when set, it indicates that this is the first descriptor of the current frame. the tfd is valid on each descriptor. wh en both tfd and tld are high, it means that the current transmission frame is described by a single descriptor. when both trfd and tld are low, it means that the current descriptor is neither the first descriptor nor the last descriptor of the current fra me. when tld is high and tfd is low, it means the current descriptor is the last descriptor. when tld is low and tfd is high, it means the current descriptor is the first descriptor. 26 icrc inhibit crc: the W89C840AF will inhibit crc appending after the end of transmitted frame when the icrc is set by the driver program. otherwise, the W89C840AF appends crc after the end of transmitted frame when icrc is reset. this bit is valid only when first descriptor bit (t01[29]) is set. 25 tlast last descriptor o f the ring. when set, it indicates the current descriptor is the last one of the descriptor ring. this bit preempts bit 24 (tlink). it means that the next descriptor pointer of the transmit dma state machine will automatically jump to the first descriptor pointed by register c10/ctdla even the tlink is set to high and the t03 points to an address other than the one specified by the c10/ctdla. the tlast is valid on each decsriptor. 24 tlink link address in transmit buffer address 2 when set, it indicates th at transmit buffer address 2(t03) contains the start address of the next descriptor of the descriptor list. otherwise the t03 is used to point to the start address of the transmit buffer 2 when the tlink is reset. the tlink is valid on each descriptor.
W89C840AF publication release date: oct ober 200 0 - 72 - revision 1.01 2 3 pd padding disable: the W89C840AF does not add the padding data on a frame shorter than 64 bytes when the pd bit is set to high. however, the W89C840AF will automatically add a padding data on a frame shorter than 64 bytes when the pd bit is reset to low . the four bytes of crc will be appended at the end of the padding field of the transmitted frame no matter what the icrc is set or reset if the pd is reset. the total transmited frame data length will be 68 bytes if the data in the current frame is less than 64 bytes and the pd is reset. this bit is valid only when tfd (t01[29]) is set. 21:11 tsz2 transmit buffer 2 size: the tsz2 indicates the size, in bytes, of the second data buffer pointed by the current transmit descriptor. if this field is 0, the W89C840AF will ignore this buffer. the tsz2 value is valid on each descriptor. 10:0 tsz1 transmit buffer 1 size: the tsz1 indicates the size, in bytes, of the first data buffer pointed by the current transmit descriptor. if this field is 0, the W89C840AF will ignore this buffer. the tsz1 value is valid on each descriptor. t02, transmit descriptor 2 the t02 is used to specify the start address of the transmit buffer 1 bit symbol description 31:0 tba1 transmit buffer address 1 the tba1 indicates the phy sical address, in the system memory space, of the first transmit buffer pointed by the current descriptor. the tba1 allow to be programmed with any value by the driver program. it is valid on each descriptor of the current frame. t03, transmit descr iptor 3 the t03 is used to specify the start address of the transmit buffer 2 bit symbol description 31:0 tba2 transmit buffer address 2 the tba2 indicates the physical address, in the system memory space, of the second transmit buffer pointed by the cur rent descriptor. the tba2 allow to be programmed with any value by the driver program. it is valid on each descriptor of the current frame.
W89C840AF publication release date: oct ober 200 0 - 73 - revision 1.01 $.electrical characteristics absolute maximum ratings symbol parameter minimum maximum unit ta operating t emperature 0 70 c ts storage temperature - 55 150 c v dd supply voltage - 0.5 7.0 v v in input voltage v ss - 0.5 v dd +0.5 v v out output voltage v ss - 0.5 v dd +0.5 v tl lead temperature (soldering 10 seconds maximum) 250 c power supply (ta = 0 c) symbol parameter condition maximum unit iddi power supply current (idle, clock active only) vdd=5.25v 150 ma iddt power su pply current (transmitting) vdd=5.25v 250 ma dc characteristics (v dd =4.75 v to 5.25v, v ss =0 v,ta = 0 c) symbol parameter condition maximum unit v il input low voltage 0.8 v v ih i nput high voltage v dd +0.5 v v ol output low voltage iol=4.0ma 0.4 v v oh output high voltage ioh= - 4.0ma v i il1 input leakage current vin=5.25v 10 u a i ol tristate leakage current vout=vdd 10 u a
W89C840AF publication release date: oct ober 200 0 - 74 - revision 1.01 ac characteristics (v dd =4.75 v to 5.25v, v ss =0 v,ta = 0 c to 70 c) pci slave read transaction clk ad[31::0] address data be#'s 1 2 3 bus cmd devsel# trdy# irdy# c/be[3:0]# frame# t9 t11 t12 t13 t10 par t7 input output t2 t3 t5 t8 t1 t4 t6 t14 t15 idsel# 0 symbol description min typical max unit t1 pci input signal set up time* 7 nsec t2 pci input signal hold time* 0 nsec t3 be byte enable set up time 7 nsec t4 be byte enable hold time 0 nsec t5 irdy# set up time 7 nsec t6 irdy# hold time 0 nsec t7 par input setup time 7 nsec t8 par input hold time 0 nsec t9 devsel# driven time 11 12 13 nsec t10 devsel# hold time 11 12 13 nsec t11 output data hold time 18 19 20 nsec t12 trdy# driven time 11 12 13 nsec t13 trdy# hold time 11 12 13 nsec t14 par output drive n time 11 12 13 nsec t15 par output hold time 11 12 13 nsec note: address, command, and frame# for slave access, idsel# for configuration read transaction
W89C840AF publication release date: oct ober 200 0 - 75 - revision 1.01 ac characteristics (v dd =4.75 v to 5.25v, v ss =0 v,ta = 0 c to 70 c) pci slave write transaction clk ad[31::0] address data be#'s 1 2 3 bus cmd devsel# trdy# irdy# c/be[3:0]# frame# t9 t11 t12 t13 t14 t10 par t7 input input t1 t2 t3 t5 t8 t15 t4 t6 t16 idsel# perr# t17 t18 0 data symbol description min typical max unit t1 pci input signal setup time* 7 nsec t2 pci input signal hold time* 0 nsec t3 be byte enable set up t ime 7 nsec t4 be byte enable hold time 0 nsec t5 irdy# set up time 7 nsec t6 irdy# hold time 0 nsec t7 par input setup time 7 nsec t8 par input hold time 0 nsec t9 devsel# driven time 11 12 13 nsec t10 devsel# hold time 11 12 13 nsec t11 input data set up time 7 nsec t12 input data hold time 0 nsec t13 trdy# driven time 11 12 13 nsec t14 trdy# hold time 11 12 13 nsec
W89C840AF publication release date: oct ober 200 0 - 76 - revision 1.01 t15 par input setup time 7 nsec t16 par input hold time 0 nsec t17 perr# driven time** 11 12 13 nsec t18 perr# hold time** 11 12 13 nsec note: address, command, and frame# for slave access, idsel# for configuration read transaction **perr# will be asserted if the parity error event occurred. ac characteristics (v dd =4.75 v to 5.25v, v ss =0 v,ta = 0 c to 70 c) pci transaction termination disconnect - c/retry type: clk frame# ad[31::0] irdy# trdy# address bus cmd be#'s 1 2 3 4 15 16 17 c/be[3::0]# 0 t1 18 19 t3 stop# devsel# t2 symbol description min typical max unit t1 frame# deasserted from clock 15 0 nsec t2 clock 16 to stop# asserted time 11 12 13 nsec t3 clock 18 to stop# and devsel# hold time 11 12 13 nsec note: 1) the other timing requirements for pci input signal are as the read transaction timing. 2) t1,t2 and t3 are used for the disconnect type c(host try to transfer more than one data phase).
W89C840AF publication release date: oct ober 200 0 - 77 - revision 1.01 target - abort type address bus cmd be#'s 1 2 3 4 5 6 7 0 t1 t2 t3 clk frame# ad[31::0] irdy# trdy# c/be[3::0]# stop# devsel# 8 9 symbol description min typical max unit t1 frame# deasserted from clock 15 0 nsec t2 clock 4 to devsel# hold time 11 12 13 nsec t3 clock 6 to stop# hold time 11 12 13 nsec note: 1) the other timing requirements for p ci input signal are as the read transaction timing.. 2) t2 and t3 are used for the target abort type(host addressing error). ac characteristics (v dd =4.75 v to 5.25v, v ss =0 v,ta = 0 c to 70 c )
W89C840AF publication release date: oct ober 200 0 - 78 - revision 1.01 32kx8 - 220 bprom/ flash memory read cycle clk frame# ad[31::0] trdy# irdy# c_beb[3:0]# devsel# msa14/l msa[9:0] msa[13:10] bpcsb msrdb msd[7:0] 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 t12 t9 t10 t11 t12 symbol description min typical max unit t1 clock 4 to msa14/l valid 8 13 18 nsec t2 clock 5 to msa14/l deasserted time 8 13 18 nsec t3 clock 6 to msa bus valid 8 13 18 nsec t4 clock 14 to msa bus valid 8 13 18 nsec t5 clock 23 to msa deasserted 8 13 18 nsec t6 clock 4 to msa high nibble valid 8 13 18 nsec t7 clock 6 to bpcsb valid 15 20 25 nsec t8 clock 25 to bpcsb deasserted 7 12 17 nsec t9 clock 8/ clock 17 to msrdb asserted time 15 20 25 nsec t10 clock 13/ clock 22 to msrdb deasserted time 8 13 18 nsec t11 msd setup time from clock 13 7 nsec t12 msd hold time from clock 15 0 nsec note: 1) the other timing requirements for pci signal are as the read transaction timing. 2) bprom/flash memory access could be byte, word or double word access. the timing is the same. ac characteristics (v dd =4.75 v to 5.25v, v ss =0 v,ta = 0 c to 70 c )
W89C840AF publication release date: oct ober 200 0 - 79 - revision 1.01 serial eeprom timing symbol description min . max. unit t1 eecs asserted to sk 500 ns t2 eecs hold from sk 0 500 ns t3 msd2 off time 500 600 ns t4 msd2 on time 500 600 ns t5 msd2 clock period 1 1.2 u s t6 msd1 set u p time to msd2 high 500 600 ns t7 msd1 hold time from msd2 high 500 600 ns t8 msd0 valid from msd2 high 300 ns bootrom/flash interface read cycle timing (byte mode) symbol description min. max unit trc read cycle time 210 - ns tacs address valid to cs# asserted 0 5 ns tces ce# valid to data valid - 210 ns tceh data hold from ce# deasserted 0 - ns tdles data valid to le enable 10 - u s tdleh le enable high time 20 - ns read cycle timing (double word mode) symbol parameters min, max. unit trc read cycle time 210 - ns tacs address valid to cs# asserted 0 5 ns tces ce# valid to data valid - 210 ns tad add ress valid to data valid - 210 ns tdh data hold from address deasserted 0 - ns tceh data hold from ce# deasserted 0 - ns tdles data valid to le enable 10 - ns tdleh le enable high time 20 - ns
W89C840AF publication release date: oct ober 200 0 - 80 - revision 1.01 write cycle timing (byte mode) symbol parameters min, max. unit tds data valid to btcsb deasserted 55 - ns tdh data hold from btcsb deasserted 10 - ns twc write cycle time 130 - ns tws address valid to btcsb asserted 0 - ns twp btcsb asserted width 95 - ns twph btcsb keep high from btcsb deasserted 155 - ns tdles data valid to le enable 10 - ns tdleh le enable high time 20 - ns $. test load ac timing test conditions parameter test condition supply voltage (v dd /v ss ) 5v + 5% temperature 25 c/70 c input test pattern levels (ttl/cmos) gnd to 4.0v input rise and fall times (ttl/cmos) 5ns input and output pattern reference level (ttl/cmos) 1.5v tristate reference levels float (v) + 0.5v output load sw1 (note 2) vcc 0.1uf input device under test rl = 2.2k output cl (note 1) note 1: load capacitance employed on output is 50 pf. note 2: sw1=open for push pull outputs during timing test.
W89C840AF publication release date: oct ober 200 0 - 81 - revision 1.01 sw1=vcc for vol test. sw1=gnd for voh test. sw1=vcc for high - z to active low and active low to high - z measurem ents. sw1=gnd for high - z to active high and active high to high - z measurements. pin capacitance ta = 25 c f = 1 mhz symbol parameter typ unit c in input capacitance 7 pf c out output capacitance 10 pf derating factor outp ut timing is measured with a purely capacitive load of 50pf. the correction factor when cl>50pf is +0,4 ns/pf. $. package dimension
W89C840AF publication release date: oct ober 200 0 - 82 - revision 1.01 0.08 0 12 0 0.003 1.60 1.00 17.40 0.80 17.20 0.60 17.00 0.063 0.039 0.685 0.031 0.677 0.023 0.669 0.50 14.10 0.25 0.25 2.87 3.40 14.00 2.72 13.90 0.10 0.15 2.57 0.10 0.555 0.010 0.010 0.113 0.134 0.551 0.107 0.020 0.547 0.004 0.006 0.101 0.004 symbol min nom max max nom min dimension in inch dimension in mm a b c d e h d h e l y 0 a a l 1 1 2 e 0.008 0.006 0.15 0.20 12 0.783 0.787 0.791 19.90 20.00 20.10 0.905 0.913 0.921 23.00 23.20 23.40 0.055 0.071 1.40 1.80 103 128 102 65 64 39 38 1 c detail f see detail f 1 l l seating plane 1 a a y e h e d d h b e a 2


▲Up To Search▲   

 
Price & Availability of W89C840AF

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X